curation_concerns 2.0.0.rc1 → 2.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +0 -12
  3. data/.travis.yml +6 -1
  4. data/CONTRIBUTING.md +68 -20
  5. data/app/actors/curation_concerns/actors/add_as_member_of_collections_actor.rb +3 -0
  6. data/app/actors/curation_concerns/actors/add_to_work_actor.rb +16 -4
  7. data/app/actors/curation_concerns/actors/apply_order_actor.rb +16 -5
  8. data/app/actors/curation_concerns/optimistic_lock_validator.rb +28 -0
  9. data/app/assets/javascripts/curation_concerns/file_manager/sorting.es6 +17 -7
  10. data/app/controllers/concerns/curation_concerns/curation_concern_controller.rb +11 -1
  11. data/app/controllers/concerns/curation_concerns/download_behavior.rb +6 -0
  12. data/app/forms/curation_concerns/forms/file_manager_form.rb +27 -0
  13. data/app/forms/curation_concerns/forms/work_form.rb +8 -0
  14. data/app/indexers/curation_concerns/file_set_indexer.rb +2 -2
  15. data/app/jobs/characterize_job.rb +12 -5
  16. data/app/jobs/create_derivatives_job.rb +10 -5
  17. data/app/jobs/ingest_file_job.rb +13 -9
  18. data/app/models/concerns/curation_concerns/ability.rb +1 -0
  19. data/app/models/concerns/curation_concerns/collection_behavior.rb +1 -1
  20. data/app/models/concerns/curation_concerns/work_behavior.rb +6 -0
  21. data/app/presenters/curation_concerns/admin/workflow_role_presenter.rb +4 -0
  22. data/app/presenters/curation_concerns/member_presenter_factory.rb +70 -0
  23. data/app/presenters/curation_concerns/work_show_presenter.rb +7 -47
  24. data/app/services/curation_concerns/actors/actor_factory.rb +2 -1
  25. data/app/services/curation_concerns/workflow/grant_edit_to_depositor.rb +1 -1
  26. data/app/services/curation_concerns/workflow/permission_query.rb +4 -1
  27. data/app/services/curation_concerns/workflow/workflow_importer.rb +1 -0
  28. data/app/services/curation_concerns/workflow/workflow_schema.rb +1 -0
  29. data/app/views/curation_concerns/admin/workflow_roles/index.html.erb +1 -2
  30. data/app/views/curation_concerns/base/_file_manager_member_resource_options.html.erb +2 -2
  31. data/app/views/curation_concerns/base/_file_manager_members.html.erb +13 -5
  32. data/app/views/curation_concerns/base/_file_manager_resource_form.html.erb +1 -1
  33. data/app/views/curation_concerns/base/_form.html.erb +5 -0
  34. data/app/views/curation_concerns/base/_form_in_works_error.html.erb +3 -0
  35. data/app/views/curation_concerns/base/_form_ordered_members_error.html.erb +3 -0
  36. data/app/views/curation_concerns/base/file_manager.html.erb +2 -2
  37. data/app/views/curation_concerns/base/show.json.jbuilder +2 -1
  38. data/config/locales/curation_concerns.en.yml +4 -0
  39. data/curation_concerns.gemspec +1 -1
  40. data/db/migrate/20170308175556_add_allows_access_grant_to_workflow.rb +5 -0
  41. data/lib/curation_concerns/data_migration/collections_migration.rb +16 -0
  42. data/lib/curation_concerns/version.rb +1 -1
  43. data/lib/generators/curation_concerns/templates/workflow.json.erb +1 -0
  44. data/lib/tasks/curation_concerns.rake +12 -0
  45. data/spec/actors/curation_concerns/add_as_member_of_collections_actor_spec.rb +58 -0
  46. data/spec/actors/curation_concerns/apply_order_actor_spec.rb +20 -0
  47. data/spec/actors/curation_concerns/optimistic_lock_validator_spec.rb +50 -0
  48. data/spec/actors/curation_concerns/work_actor_spec.rb +9 -6
  49. data/spec/controllers/curation_concerns/generic_works_controller_spec.rb +2 -1
  50. data/spec/controllers/downloads_controller_spec.rb +5 -6
  51. data/spec/features/create_child_work_spec.rb +16 -2
  52. data/spec/forms/curation_concerns/forms/file_manager_form_spec.rb +19 -0
  53. data/spec/forms/work_form_spec.rb +8 -0
  54. data/spec/lib/curation_concerns/data_migration/collections_migration_spec.rb +34 -0
  55. data/spec/presenters/curation_concerns/member_presenter_factory_spec.rb +25 -0
  56. data/spec/presenters/curation_concerns/work_show_presenter_spec.rb +11 -21
  57. data/spec/services/curation_concerns/workflow/grant_edit_to_depositor_spec.rb +15 -4
  58. data/spec/services/curation_concerns/workflow/permission_query_spec.rb +7 -1
  59. data/spec/services/curation_concerns/workflow/workflow_importer_spec.rb +5 -2
  60. data/spec/services/curation_concerns/workflow/workflow_schema_spec.rb +1 -0
  61. data/spec/views/curation_concerns/admin/workflow_roles/index.html.erb_spec.rb +33 -0
  62. data/spec/views/curation_concerns/base/_form.html.erb_spec.rb +35 -0
  63. data/spec/views/curation_concerns/base/file_manager.html.erb_spec.rb +10 -8
  64. data/spec/views/curation_concerns/base/show.json.jbuilder_spec.rb +3 -1
  65. metadata +26 -5
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe CurationConcerns::MemberPresenterFactory do
4
+ describe "#file_set_presenters" do
5
+ describe "getting presenters from factory" do
6
+ let(:solr_document) { SolrDocument.new(attributes) }
7
+ let(:attributes) { {} }
8
+ let(:ability) { double }
9
+ let(:request) { double }
10
+ let(:factory) { described_class.new(solr_document, ability, request) }
11
+ let(:presenter_class) { double }
12
+ before do
13
+ allow(factory).to receive(:composite_presenter_class).and_return(presenter_class)
14
+ allow(factory).to receive(:ordered_ids).and_return(['12', '33'])
15
+ allow(factory).to receive(:file_set_ids).and_return(['33', '12'])
16
+ end
17
+
18
+ it "uses the set class" do
19
+ expect(CurationConcerns::PresenterFactory).to receive(:build_presenters)
20
+ .with(['12', '33'], presenter_class, ability, request)
21
+ factory.file_set_presenters
22
+ end
23
+ end
24
+ end
25
+ end
@@ -81,31 +81,25 @@ describe CurationConcerns::WorkShowPresenter do
81
81
  expect(presenter.file_set_presenters.map(&:id)).to eq obj.ordered_member_ids
82
82
  end
83
83
 
84
- context "when some of the members are not file sets" do
85
- let(:another_work) { create(:work) }
84
+ context "solr query" do
86
85
  before do
87
- obj.ordered_members << another_work
88
- obj.save!
86
+ expect(ActiveFedora::SolrService).to receive(:query).twice.with(anything, hash_including(rows: 10_000)).and_return([])
89
87
  end
90
88
 
91
- it "filters out members that are not file sets" do
92
- expect(presenter.file_set_presenters.map(&:id)).not_to include another_work.id
89
+ it "requests >10 rows" do
90
+ presenter.file_set_presenters
93
91
  end
94
92
  end
95
93
 
96
- describe "getting presenters from factory" do
97
- let(:attributes) { {} }
98
- let(:presenter_class) { double }
94
+ context "when some of the members are not file sets" do
95
+ let(:another_work) { create(:work) }
99
96
  before do
100
- allow(presenter).to receive(:composite_presenter_class).and_return(presenter_class)
101
- allow(presenter).to receive(:ordered_ids).and_return(['12', '33'])
102
- allow(presenter).to receive(:file_set_ids).and_return(['33', '12'])
97
+ obj.ordered_members << another_work
98
+ obj.save!
103
99
  end
104
100
 
105
- it "uses the set class" do
106
- expect(CurationConcerns::PresenterFactory).to receive(:build_presenters)
107
- .with(['12', '33'], presenter_class, ability, request)
108
- presenter.file_set_presenters
101
+ it "filters out members that are not file sets" do
102
+ expect(presenter.file_set_presenters.map(&:id)).not_to include another_work.id
109
103
  end
110
104
  end
111
105
  end
@@ -113,13 +107,9 @@ describe CurationConcerns::WorkShowPresenter do
113
107
  describe "#representative_presenter" do
114
108
  let(:obj) { create(:work_with_representative_file) }
115
109
  let(:attributes) { obj.to_solr }
116
- let(:presenter_class) { double }
117
- before do
118
- allow(presenter).to receive(:composite_presenter_class).and_return(presenter_class)
119
- end
120
110
  it "has a representative" do
121
111
  expect(CurationConcerns::PresenterFactory).to receive(:build_presenters)
122
- .with([obj.members[0].id], presenter_class, ability, request).and_return ["abc"]
112
+ .with([obj.members[0].id], CurationConcerns::CompositePresenterFactory, ability, request).and_return ["abc"]
123
113
  expect(presenter.representative_presenter).to eq("abc")
124
114
  end
125
115
  end
@@ -2,7 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  RSpec.describe CurationConcerns::Workflow::GrantEditToDepositor do
4
4
  let(:depositor) { create(:user) }
5
- let(:work) { create(:work_without_access, depositor: depositor.user_key) }
6
5
  let(:user) { User.new }
7
6
 
8
7
  describe ".call" do
@@ -12,9 +11,21 @@ RSpec.describe CurationConcerns::Workflow::GrantEditToDepositor do
12
11
  user: user)
13
12
  end
14
13
 
15
- it "adds edit access " do
16
- expect { subject }.to change { work.edit_users }.from([]).to([depositor.user_key])
17
- expect(work).to be_valid
14
+ context "with no additional editors" do
15
+ let(:work) { create(:work_without_access, depositor: depositor.user_key) }
16
+ it "adds edit access" do
17
+ expect { subject }.to change { work.edit_users }.from([]).to([depositor.user_key])
18
+ expect(work).to be_valid
19
+ end
20
+ end
21
+
22
+ context "with an additional editor" do
23
+ let(:editor) { create(:user) }
24
+ let(:work) { create(:work_without_access, depositor: depositor.user_key, edit_users: [editor.user_key]) }
25
+ it "adds edit access" do
26
+ expect { subject }.to change { work.edit_users }.from([editor.user_key]).to([editor.user_key, depositor.user_key])
27
+ expect(work).to be_valid
28
+ end
18
29
  end
19
30
  end
20
31
  end
@@ -165,12 +165,18 @@ module CurationConcerns
165
165
  subject { described_class.scope_processing_agents_for(user: nil) }
166
166
  it { is_expected.to eq([]) }
167
167
  end
168
+
168
169
  context 'when user is persisted' do
169
170
  let(:user) { create(:user) }
171
+ before do
172
+ allow(user).to receive(:groups).and_return(['librarians'])
173
+ end
174
+
170
175
  subject { described_class.scope_processing_agents_for(user: user) }
176
+
171
177
  it 'will equal [kind_of(Sipity::Agent)]' do
172
178
  is_expected.to contain_exactly(PowerConverter.convert_to_sipity_agent(user),
173
- PowerConverter.convert_to_sipity_agent(Group.new('registered')))
179
+ PowerConverter.convert_to_sipity_agent(Group.new('librarians')))
174
180
  end
175
181
  end
176
182
  end
@@ -10,6 +10,7 @@ RSpec.describe CurationConcerns::Workflow::WorkflowImporter do
10
10
  "name": "ulra_submission",
11
11
  "label": "This is the label",
12
12
  "description": "This description could get really long",
13
+ "allows_access_grant": true,
13
14
  "actions": [{
14
15
  "name": "approve",
15
16
  "transition_to": "reviewed",
@@ -42,8 +43,10 @@ RSpec.describe CurationConcerns::Workflow::WorkflowImporter do
42
43
  result = described_class.generate_from_json_file(path: path)
43
44
  end.to change { Sipity::Workflow.count }.by(1)
44
45
  expect(result).to match_array(kind_of(Sipity::Workflow))
45
- expect(result.first.label).to eq "This is the label"
46
- expect(result.first.description).to eq "This description could get really long"
46
+ first_workflow = result.first
47
+ expect(first_workflow.label).to eq "This is the label"
48
+ expect(first_workflow.description).to eq "This description could get really long"
49
+ expect(first_workflow.allows_access_grant?).to be true
47
50
  end
48
51
  end
49
52
  end
@@ -8,6 +8,7 @@ module CurationConcerns
8
8
  workflows: [
9
9
  {
10
10
  name: "valid",
11
+ allows_access_grant: true,
11
12
  actions: [
12
13
  {
13
14
  name: "finalize_digitization",
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'curation_concerns/admin/workflow_roles/index.html.erb', type: :view do
4
+ let!(:user1) { create(:user) }
5
+ let!(:user2) { create(:user) }
6
+ let(:presenter) do
7
+ CurationConcerns::Admin::WorkflowRolePresenter.new
8
+ end
9
+
10
+ before do
11
+ assign(:presenter, presenter)
12
+ allow(view).to receive(:admin_workflow_roles_path).and_return('/admin/workflow_roles')
13
+ end
14
+
15
+ context 'with no users having workflow roles' do
16
+ it 'displays "No Roles" for each user' do
17
+ render
18
+ expect(rendered).to have_content('No roles', count: User.count)
19
+ end
20
+ end
21
+
22
+ context 'with some users having workflow roles' do
23
+ before do
24
+ # Force user instances to have corresponding sipity agents
25
+ user1.to_sipity_agent
26
+ user2.to_sipity_agent
27
+ end
28
+ it 'displays roles for each user' do
29
+ render
30
+ expect(rendered.match(/<ul>\s+<\/ul>/m)).to be nil
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'curation_concerns/base/_form.html.erb', type: :view do
4
+ let(:ability) { double }
5
+ let(:user) { stub_model(User) }
6
+ let(:form) do
7
+ CurationConcerns::GenericWorkForm.new(work, ability)
8
+ end
9
+
10
+ before do
11
+ # view.lookup_context.view_paths.push 'app/views/curation_concerns'
12
+ # allow(controller).to receive(:current_user).and_return(user)
13
+ allow(view).to receive(:curation_concern).and_return(work)
14
+ end
15
+
16
+ let(:page) do
17
+ view.simple_form_for form do |f|
18
+ render 'curation_concerns/base/form', f: f
19
+ end
20
+ Capybara::Node::Simple.new(rendered)
21
+ end
22
+
23
+ context "when the work has been saved before" do
24
+ before do
25
+ allow(work).to receive(:new_record?).and_return(false)
26
+ assign(:form, form)
27
+ end
28
+
29
+ let(:work) { stub_model(GenericWork, id: '456', etag: '123456') }
30
+
31
+ it "renders the form with the version" do
32
+ expect(page).to have_selector("input#generic_work_version[value=\"123456\"]", visible: false)
33
+ end
34
+ end
35
+ end
@@ -26,19 +26,21 @@ RSpec.describe "curation_concerns/base/file_manager.html.erb" do
26
26
  end
27
27
  let(:resource) { FactoryGirl.build(:file_set) }
28
28
 
29
- let(:parent) { FactoryGirl.build(:generic_work) }
30
- let(:parent_solr_doc) do
31
- SolrDocument.new(parent.to_solr.merge(id: "resource"), nil)
32
- end
33
- let(:parent_presenter) do
34
- CurationConcerns::WorkShowPresenter.new(parent_solr_doc, nil, view)
29
+ let(:parent) { build(:generic_work) }
30
+
31
+ let(:form) do
32
+ CurationConcerns::Forms::FileManagerForm.new(parent, nil)
35
33
  end
36
34
 
37
35
  let(:blacklight_config) { CatalogController.new.blacklight_config }
38
36
 
39
37
  before do
40
- allow(parent_presenter).to receive(:member_presenters).and_return([file_set, member])
41
- assign(:presenter, parent_presenter)
38
+ allow(parent).to receive(:etag).and_return("123456")
39
+ allow(parent).to receive(:persisted?).and_return(true)
40
+ allow(parent).to receive(:id).and_return('resource')
41
+
42
+ allow(form).to receive(:member_presenters).and_return([file_set, member])
43
+ assign(:form, form)
42
44
  # Blacklight nonsense
43
45
  allow(view).to receive(:dom_class) { '' }
44
46
  allow(view).to receive(:blacklight_config).and_return(blacklight_config)
@@ -1,9 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'curation_concerns/base/show.json.jbuilder' do
4
- let(:curation_concern) { FactoryGirl.create(:generic_work) }
4
+ let(:curation_concern) { create(:generic_work) }
5
5
 
6
6
  before do
7
+ allow(curation_concern).to receive(:etag).and_return('W/"87f79d2244ded4239ad1f0e822c8429b1e72b66c"')
7
8
  assign(:curation_concern, curation_concern)
8
9
  render
9
10
  end
@@ -17,5 +18,6 @@ describe 'curation_concerns/base/show.json.jbuilder' do
17
18
  expected_fields.each do |field_symbol|
18
19
  expect(json).to have_key(field_symbol.to_s)
19
20
  end
21
+ expect(json['version']).to eq 'W/"87f79d2244ded4239ad1f0e822c8429b1e72b66c"'
20
22
  end
21
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curation_concerns
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.rc1
4
+ version: 2.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-12-22 00:00:00.000000000 Z
13
+ date: 2017-04-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: hydra-head
@@ -38,14 +38,14 @@ dependencies:
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: 10.3.0.rc1
41
+ version: 10.3.0
42
42
  type: :runtime
43
43
  prerelease: false
44
44
  version_requirements: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: 10.3.0.rc1
48
+ version: 10.3.0
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: blacklight
51
51
  requirement: !ruby/object:Gem::Requirement
@@ -785,6 +785,7 @@ files:
785
785
  - app/actors/curation_concerns/actors/interpret_visibility_actor.rb
786
786
  - app/actors/curation_concerns/actors/lease_actor.rb
787
787
  - app/actors/curation_concerns/actors/root_actor.rb
788
+ - app/actors/curation_concerns/optimistic_lock_validator.rb
788
789
  - app/assets/images/audio.png
789
790
  - app/assets/images/default.png
790
791
  - app/assets/images/loading.gif
@@ -877,6 +878,7 @@ files:
877
878
  - app/conversions/power_converters/sipity_workflow_state.rb
878
879
  - app/forms/curation_concerns/forms.rb
879
880
  - app/forms/curation_concerns/forms/collection_edit_form.rb
881
+ - app/forms/curation_concerns/forms/file_manager_form.rb
880
882
  - app/forms/curation_concerns/forms/file_set_edit_form.rb
881
883
  - app/forms/curation_concerns/forms/work_form.rb
882
884
  - app/forms/curation_concerns/forms/workflow_action_form.rb
@@ -972,6 +974,7 @@ files:
972
974
  - app/presenters/curation_concerns/file_set_presenter.rb
973
975
  - app/presenters/curation_concerns/inspect_work_presenter.rb
974
976
  - app/presenters/curation_concerns/lease_presenter.rb
977
+ - app/presenters/curation_concerns/member_presenter_factory.rb
975
978
  - app/presenters/curation_concerns/model_proxy.rb
976
979
  - app/presenters/curation_concerns/permission_badge.rb
977
980
  - app/presenters/curation_concerns/presenter_factory.rb
@@ -1143,8 +1146,10 @@ files:
1143
1146
  - app/views/curation_concerns/base/_form_descriptive_fields.html.erb
1144
1147
  - app/views/curation_concerns/base/_form_files_and_links.html.erb
1145
1148
  - app/views/curation_concerns/base/_form_in_works.html.erb
1149
+ - app/views/curation_concerns/base/_form_in_works_error.html.erb
1146
1150
  - app/views/curation_concerns/base/_form_media.html.erb
1147
1151
  - app/views/curation_concerns/base/_form_member_of_collections.html.erb
1152
+ - app/views/curation_concerns/base/_form_ordered_members_error.html.erb
1148
1153
  - app/views/curation_concerns/base/_form_permission.html.erb
1149
1154
  - app/views/curation_concerns/base/_form_permission_embargo.html.erb
1150
1155
  - app/views/curation_concerns/base/_form_permission_lease.html.erb
@@ -1243,6 +1248,7 @@ files:
1243
1248
  - db/migrate/20160427155928_create_operations.rb
1244
1249
  - db/migrate/20160919151348_create_sipity.rb
1245
1250
  - db/migrate/20161012182404_create_sipity_workflow_methods.rb
1251
+ - db/migrate/20170308175556_add_allows_access_grant_to_workflow.rb
1246
1252
  - lib/curation_concerns.rb
1247
1253
  - lib/curation_concerns/callbacks.rb
1248
1254
  - lib/curation_concerns/callbacks/registry.rb
@@ -1251,6 +1257,7 @@ files:
1251
1257
  - lib/curation_concerns/collections/search_service.rb
1252
1258
  - lib/curation_concerns/configuration.rb
1253
1259
  - lib/curation_concerns/controller_resource.rb
1260
+ - lib/curation_concerns/data_migration/collections_migration.rb
1254
1261
  - lib/curation_concerns/engine.rb
1255
1262
  - lib/curation_concerns/name.rb
1256
1263
  - lib/curation_concerns/null_logger.rb
@@ -1324,6 +1331,7 @@ files:
1324
1331
  - spec/abilities/file_set_abilities_spec.rb
1325
1332
  - spec/abilities/generic_work_abilities_spec.rb
1326
1333
  - spec/abilities/operation_ability_spec.rb
1334
+ - spec/actors/curation_concerns/add_as_member_of_collections_actor_spec.rb
1327
1335
  - spec/actors/curation_concerns/apply_order_actor_spec.rb
1328
1336
  - spec/actors/curation_concerns/embargo_actor_spec.rb
1329
1337
  - spec/actors/curation_concerns/file_actor_spec.rb
@@ -1331,6 +1339,7 @@ files:
1331
1339
  - spec/actors/curation_concerns/initialize_workflow_actor_spec.rb
1332
1340
  - spec/actors/curation_concerns/interpret_visibility_actor_spec.rb
1333
1341
  - spec/actors/curation_concerns/lease_actor_spec.rb
1342
+ - spec/actors/curation_concerns/optimistic_lock_validator_spec.rb
1334
1343
  - spec/actors/curation_concerns/work_actor_spec.rb
1335
1344
  - spec/controllers/accepts_batches_controller_spec.rb
1336
1345
  - spec/controllers/catalog_controller_spec.rb
@@ -1385,6 +1394,7 @@ files:
1385
1394
  - spec/features/work_generator_spec.rb
1386
1395
  - spec/features/workflow_roles_spec.rb
1387
1396
  - spec/forms/collection_edit_form_spec.rb
1397
+ - spec/forms/curation_concerns/forms/file_manager_form_spec.rb
1388
1398
  - spec/forms/curation_concerns/forms/workflow_action_form_spec.rb
1389
1399
  - spec/forms/curation_concerns/forms/workflow_responsibility_form_spec.rb
1390
1400
  - spec/forms/file_set_edit_form_spec.rb
@@ -1430,6 +1440,7 @@ files:
1430
1440
  - spec/lib/curation_concerns/callbacks/registry_spec.rb
1431
1441
  - spec/lib/curation_concerns/callbacks_spec.rb
1432
1442
  - spec/lib/curation_concerns/collections/search_service_spec.rb
1443
+ - spec/lib/curation_concerns/data_migration/collections_migration_spec.rb
1433
1444
  - spec/lib/curation_concerns/name_spec.rb
1434
1445
  - spec/lib/curation_concerns/null_logger_spec.rb
1435
1446
  - spec/lib/curation_concerns/readable_permissions_spec.rb
@@ -1470,6 +1481,7 @@ files:
1470
1481
  - spec/presenters/curation_concerns/collection_presenter_spec.rb
1471
1482
  - spec/presenters/curation_concerns/file_set_presenter_spec.rb
1472
1483
  - spec/presenters/curation_concerns/inspect_work_presenter_spec.rb
1484
+ - spec/presenters/curation_concerns/member_presenter_factory_spec.rb
1473
1485
  - spec/presenters/curation_concerns/permission_badge_spec.rb
1474
1486
  - spec/presenters/curation_concerns/presenter_factory_spec.rb
1475
1487
  - spec/presenters/curation_concerns/single_use_link_presenter_spec.rb
@@ -1556,7 +1568,9 @@ files:
1556
1568
  - spec/views/curation_concerns/admin/_total_objects_charts.html.erb_spec.rb
1557
1569
  - spec/views/curation_concerns/admin/index.html.erb_spec.rb
1558
1570
  - spec/views/curation_concerns/admin/widgets/_pie.html.erb_spec.rb
1571
+ - spec/views/curation_concerns/admin/workflow_roles/index.html.erb_spec.rb
1559
1572
  - spec/views/curation_concerns/base/_attributes.html.erb_spec.rb
1573
+ - spec/views/curation_concerns/base/_form.html.erb_spec.rb
1560
1574
  - spec/views/curation_concerns/base/_form_rights_spec.rb
1561
1575
  - spec/views/curation_concerns/base/_member.html.erb_spec.rb
1562
1576
  - spec/views/curation_concerns/base/_show_actions.html.erb_spec.rb
@@ -1604,7 +1618,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1604
1618
  version: 1.3.1
1605
1619
  requirements: []
1606
1620
  rubyforge_project:
1607
- rubygems_version: 2.5.1
1621
+ rubygems_version: 2.4.5.1
1608
1622
  signing_key:
1609
1623
  specification_version: 4
1610
1624
  summary: A Rails Engine that allows an application to CRUD CurationConcern objects
@@ -1617,6 +1631,7 @@ test_files:
1617
1631
  - spec/abilities/file_set_abilities_spec.rb
1618
1632
  - spec/abilities/generic_work_abilities_spec.rb
1619
1633
  - spec/abilities/operation_ability_spec.rb
1634
+ - spec/actors/curation_concerns/add_as_member_of_collections_actor_spec.rb
1620
1635
  - spec/actors/curation_concerns/apply_order_actor_spec.rb
1621
1636
  - spec/actors/curation_concerns/embargo_actor_spec.rb
1622
1637
  - spec/actors/curation_concerns/file_actor_spec.rb
@@ -1624,6 +1639,7 @@ test_files:
1624
1639
  - spec/actors/curation_concerns/initialize_workflow_actor_spec.rb
1625
1640
  - spec/actors/curation_concerns/interpret_visibility_actor_spec.rb
1626
1641
  - spec/actors/curation_concerns/lease_actor_spec.rb
1642
+ - spec/actors/curation_concerns/optimistic_lock_validator_spec.rb
1627
1643
  - spec/actors/curation_concerns/work_actor_spec.rb
1628
1644
  - spec/controllers/accepts_batches_controller_spec.rb
1629
1645
  - spec/controllers/catalog_controller_spec.rb
@@ -1678,6 +1694,7 @@ test_files:
1678
1694
  - spec/features/work_generator_spec.rb
1679
1695
  - spec/features/workflow_roles_spec.rb
1680
1696
  - spec/forms/collection_edit_form_spec.rb
1697
+ - spec/forms/curation_concerns/forms/file_manager_form_spec.rb
1681
1698
  - spec/forms/curation_concerns/forms/workflow_action_form_spec.rb
1682
1699
  - spec/forms/curation_concerns/forms/workflow_responsibility_form_spec.rb
1683
1700
  - spec/forms/file_set_edit_form_spec.rb
@@ -1723,6 +1740,7 @@ test_files:
1723
1740
  - spec/lib/curation_concerns/callbacks/registry_spec.rb
1724
1741
  - spec/lib/curation_concerns/callbacks_spec.rb
1725
1742
  - spec/lib/curation_concerns/collections/search_service_spec.rb
1743
+ - spec/lib/curation_concerns/data_migration/collections_migration_spec.rb
1726
1744
  - spec/lib/curation_concerns/name_spec.rb
1727
1745
  - spec/lib/curation_concerns/null_logger_spec.rb
1728
1746
  - spec/lib/curation_concerns/readable_permissions_spec.rb
@@ -1763,6 +1781,7 @@ test_files:
1763
1781
  - spec/presenters/curation_concerns/collection_presenter_spec.rb
1764
1782
  - spec/presenters/curation_concerns/file_set_presenter_spec.rb
1765
1783
  - spec/presenters/curation_concerns/inspect_work_presenter_spec.rb
1784
+ - spec/presenters/curation_concerns/member_presenter_factory_spec.rb
1766
1785
  - spec/presenters/curation_concerns/permission_badge_spec.rb
1767
1786
  - spec/presenters/curation_concerns/presenter_factory_spec.rb
1768
1787
  - spec/presenters/curation_concerns/single_use_link_presenter_spec.rb
@@ -1849,7 +1868,9 @@ test_files:
1849
1868
  - spec/views/curation_concerns/admin/_total_objects_charts.html.erb_spec.rb
1850
1869
  - spec/views/curation_concerns/admin/index.html.erb_spec.rb
1851
1870
  - spec/views/curation_concerns/admin/widgets/_pie.html.erb_spec.rb
1871
+ - spec/views/curation_concerns/admin/workflow_roles/index.html.erb_spec.rb
1852
1872
  - spec/views/curation_concerns/base/_attributes.html.erb_spec.rb
1873
+ - spec/views/curation_concerns/base/_form.html.erb_spec.rb
1853
1874
  - spec/views/curation_concerns/base/_form_rights_spec.rb
1854
1875
  - spec/views/curation_concerns/base/_member.html.erb_spec.rb
1855
1876
  - spec/views/curation_concerns/base/_show_actions.html.erb_spec.rb