diff --git a/bims/custom_admin/source_reference.py b/bims/custom_admin/source_reference.py index 4b4a9aaaa..0b53210b1 100644 --- a/bims/custom_admin/source_reference.py +++ b/bims/custom_admin/source_reference.py @@ -119,12 +119,6 @@ def merge_source_references(self, request, queryset): messages.ERROR) return - elif source_type >= 2: - self.message_user( - request, 'Source references should have same type', messages.ERROR - ) - return - merge_source_references(primary_source_reference=verified.first(), source_reference_list=queryset) diff --git a/bims/tests/test_source_reference.py b/bims/tests/test_source_reference.py index 5bda8f48b..4f983972c 100644 --- a/bims/tests/test_source_reference.py +++ b/bims/tests/test_source_reference.py @@ -188,6 +188,7 @@ def test_merge_source_reference(self): note='test', source=self.entry) database = SourceReferenceDatabaseF.create() document = SourceReferenceDocumentF.create() + unpublished = SourceReferenceF.create(note='unpublished') source_document_id = document.source.id BiologicalCollectionRecordF.create( @@ -199,6 +200,9 @@ def test_merge_source_reference(self): BiologicalCollectionRecordF.create( source_reference=document ) + BiologicalCollectionRecordF.create( + source_reference=unpublished + ) self.assertTrue( Document.objects.filter(id=source_document_id).exists() ) @@ -209,7 +213,7 @@ def test_merge_source_reference(self): 1 ) source_references = SourceReference.objects.filter( - id__in=[database.id, document.id] + id__in=[database.id, document.id, unpublished.id] ) merge_source_references( primary_source_reference=biblio, @@ -219,7 +223,7 @@ def test_merge_source_reference(self): BiologicalCollectionRecord.objects.filter( source_reference=biblio ).count(), - 3 + 4 ) self.assertFalse( BiologicalCollectionRecord.objects.filter( @@ -239,6 +243,11 @@ def test_merge_source_reference(self): id=document.id ).exists() ) + self.assertFalse( + SourceReference.objects.filter( + id=unpublished.id + ).exists() + ) class TestRemoveRecordsBySourceReference(FastTenantTestCase):