• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / pdc_describe / 1aaf6302-d8cf-4943-bb96-5e86951c32a3

pending completion
1aaf6302-d8cf-4943-bb96-5e86951c32a3

Pull #1079

circleci

Bess Sadler
Nil safe doi gsub
Pull Request #1079: Nil safe collection title

2 of 2 new or added lines in 1 file covered. (100.0%)

1777 of 2063 relevant lines covered (86.14%)

100.37 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.1
/app/services/work_uploads_edit_service.rb
1
# frozen_string_literal: true
2
class WorkUploadsEditService
1✔
3
  attr_reader :work, :s3_service
1✔
4

5
  def initialize(work, current_user)
1✔
6
    @work = work
15✔
7
    @s3_service = work.s3_query_service
15✔
8
    @current_user = current_user
15✔
9
    @changes = []
15✔
10
  end
11

12
  def update_precurated_file_list(added_files, deleted_files)
1✔
13
    delete_uploads(deleted_files)
15✔
14
    add_uploads(added_files)
15✔
15
    if @changes.count > 0
15✔
16
      work.log_file_changes(@changes, @current_user.id)
4✔
17
      s3_service.client_s3_files(reload: true)
4✔
18
      work.reload # reload the work to pick up the changes in the attachments
4✔
19
    end
20

21
    work
15✔
22
  end
23

24
  def find_post_curation_uploads(upload_keys: [])
1✔
25
    return [] unless work.approved? && !upload_keys.empty?
×
26
    work.post_curation_uploads.select { |upload| upload_keys.include?(upload.key) }
×
27
  end
28

29
  private
1✔
30

31
    def delete_uploads(deleted_files)
1✔
32
      deleted_files.each do |filename|
15✔
33
        s3_service.delete_s3_object(filename)
4✔
34
        track_change(:deleted, filename)
4✔
35
      end
36
    end
37

38
    def add_uploads(added_files)
1✔
39
      added_files.each do |new_upload|
15✔
40
        work.pre_curation_uploads.attach(new_upload)
5✔
41
        track_change(:added, new_upload.original_filename)
5✔
42
      end
43
    end
44

45
    def track_change(action, filename)
1✔
46
      @changes << { action: action, filename: filename }
9✔
47
    end
48
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc