diff --git a/app/factories/bulkrax/object_factory.rb b/app/factories/bulkrax/object_factory.rb index e296101d..cc5a6d79 100644 --- a/app/factories/bulkrax/object_factory.rb +++ b/app/factories/bulkrax/object_factory.rb @@ -182,6 +182,10 @@ def update_file_set(attrs) # Add child to parent's #member_collections # Add parent to child's #member_of_collections def persist_collection_memberships(parent:, child:) + parent.reject!(&:blank?) if parent.respond_to?(:reject!) + child.reject!(&:blank?) if child.respond_to?(:reject!) + return if parent.blank? || child.blank? + ::Hyrax::Collections::NestedCollectionPersistenceService.persist_nested_collection_for(parent: parent, child: child) end @@ -190,7 +194,7 @@ def find_collection(id) when Hash Collection.find(id[:id]) when String - Collection.find(id) + Collection.find(id) if id.present? when Array id.map { |i| find_collection(i) } else diff --git a/app/models/bulkrax/csv_entry.rb b/app/models/bulkrax/csv_entry.rb index d09f3cf6..2760944d 100644 --- a/app/models/bulkrax/csv_entry.rb +++ b/app/models/bulkrax/csv_entry.rb @@ -153,7 +153,7 @@ def build_value(key, value) data = hyrax_record.send(key.to_s) if data.is_a?(ActiveTriples::Relation) if value['join'] - self.parsed_metadata[key_for_export(key)] = data.map { |d| prepare_export_data(d) }.join('; ').to_s + self.parsed_metadata[key_for_export(key)] = data.map { |d| prepare_export_data(d) }.join(' | ').to_s # TODO: make split char dynamic else data.each_with_index do |d, i| self.parsed_metadata["#{key_for_export(key)}_#{i + 1}"] = prepare_export_data(d) diff --git a/spec/jobs/bulkrax/importer_job_spec.rb b/spec/jobs/bulkrax/importer_job_spec.rb index 78591540..b3de81e0 100644 --- a/spec/jobs/bulkrax/importer_job_spec.rb +++ b/spec/jobs/bulkrax/importer_job_spec.rb @@ -27,7 +27,7 @@ module Bulkrax importer_job.perform(1) expect(importer.current_run.total_work_entries).to eq(10) - expect(importer.current_run.total_collection_entries).to eq(422) + expect(importer.current_run.total_collection_entries).to eq(421) end end