diff --git a/app/models/concerns/bulkrax/has_matchers.rb b/app/models/concerns/bulkrax/has_matchers.rb index c6452f4c..173f0219 100644 --- a/app/models/concerns/bulkrax/has_matchers.rb +++ b/app/models/concerns/bulkrax/has_matchers.rb @@ -148,11 +148,11 @@ def multiple?(field) end def fields_that_are_always_multiple - @fields_that_are_always_multiple = %W[ + @fields_that_are_always_multiple = %w[ id delete model - visibility + visibility visibility_during_embargo embargo_release_date visibility_after_embargo diff --git a/spec/fixtures/csv/embargo-lease.csv b/spec/fixtures/csv/embargo-lease.csv new file mode 100644 index 00000000..93acff0b --- /dev/null +++ b/spec/fixtures/csv/embargo-lease.csv @@ -0,0 +1,3 @@ +model,title,creator,source_identifier,visibility,visibility_during_embargo,embargo_release_date,visibility_after_embargo,visibility_during_lease,lease_expiration_date,visibility_after_lease +Work,An Image,user,123456789,embargo,restricted,2024-04-19,open,,,, +Work,An Image,user,1987654321,lease,,,,restricted,2024-04-19,open \ No newline at end of file diff --git a/spec/fixtures/csv/embargo.csv b/spec/fixtures/csv/embargo.csv deleted file mode 100644 index fabda9fc..00000000 --- a/spec/fixtures/csv/embargo.csv +++ /dev/null @@ -1,2 +0,0 @@ -model,title,creator,source_identifier,visibility, visibility_during_embargo,embargo_release_date,visibility_after_embargo -Work,An Image,user,123456789,restricted,embargo,2024-04-19,open \ No newline at end of file diff --git a/spec/fixtures/csv/lease.csv b/spec/fixtures/csv/lease.csv deleted file mode 100644 index 2e727d9e..00000000 --- a/spec/fixtures/csv/lease.csv +++ /dev/null @@ -1,2 +0,0 @@ -model,title,creator,rights_statement,source_identifier,visibility,visibility_during_lease,lease_expiration_date,visibility_after_lease -Image,An Image,user,http://rightsstatements.org/vocab/InC/1.0,987654321,lease,restricted,2024-04-19,open \ No newline at end of file diff --git a/spec/models/bulkrax/csv_entry_spec.rb b/spec/models/bulkrax/csv_entry_spec.rb index 571b3b15..eb212e25 100644 --- a/spec/models/bulkrax/csv_entry_spec.rb +++ b/spec/models/bulkrax/csv_entry_spec.rb @@ -1257,23 +1257,25 @@ class ::Avacado < Work end end - describe 'exposing lease attributes for parser' do - let(:data) { + describe 'exposing embargo attributes for parser' do + let(:data) do { - 'model': 'Work', - 'title': 'Image', - 'creator': 'user A', - 'source_identifier': '123456789', - 'visibility': 'embargo', - 'visibility_during_embargo': 'restricted', - 'embargo_release_date': '2054-04-19', - 'visibility_after_embargo': 'open' + 'model': 'Work', + 'title': 'Image', + 'creator': 'user A', + 'source_identifier': '123456789', + 'visibility': 'embargo', + 'visibility_during_embargo': 'restricted', + 'embargo_release_date': '2054-04-19', + 'visibility_after_embargo': 'open' } - } - let(:entry) { Bulkrax::EntrySpecHelper.entry_for(identifier: '123456789', - data: data, - parser_class_name: 'Bulkrax::CsvParser', - parser_fields: { 'import_file_path': 'spec/fixtures/csv/embargo.csv'} ) } + end + let(:entry) do + Bulkrax::EntrySpecHelper.entry_for(identifier: '123456789', + data: data, + parser_class_name: 'Bulkrax::CsvParser', + parser_fields: { 'import_file_path': 'spec/fixtures/csv/embargo-lease.csv' }) + end it 'embargo attributes are included in the parsed metadata' do entry.build_metadata @@ -1285,25 +1287,27 @@ class ::Avacado < Work end end - describe 'exposing lease attributes for parser' do - let(:data) { + describe 'exposing lease attributes for parser' do + let(:data) do { - 'model': 'Work', - 'title': 'Image', - 'creator': 'user A', - 'source_identifier': '123456789', - 'visibility': 'lease', - 'visibility_during_lease': 'restricted', - 'lease_expiration_date': '2054-04-19', - 'visibility_after_lease': 'open' + 'model': 'Work', + 'title': 'Image', + 'creator': 'user A', + 'source_identifier': '987654321', + 'visibility': 'lease', + 'visibility_during_lease': 'restricted', + 'lease_expiration_date': '2054-04-19', + 'visibility_after_lease': 'open' } - } - let(:entry) { Bulkrax::EntrySpecHelper.entry_for(identifier: '123456789', - data: data, - parser_class_name: 'Bulkrax::CsvParser', - parser_fields: { 'import_file_path': 'spec/fixtures/csv/lease.csv'} ) } + end + let(:entry) do + Bulkrax::EntrySpecHelper.entry_for(identifier: '123456789', + data: data, + parser_class_name: 'Bulkrax::CsvParser', + parser_fields: { 'import_file_path': 'spec/fixtures/csv/embargo-lease.csv' }) + end - it 'embargo attributes are included in the parsed metadata' do + it 'lease attributes are included in the parsed metadata' do entry.build_metadata expect(entry.parsed_metadata['visibility']).to eq('lease')