diff options
Diffstat (limited to 'archaeological_warehouse/tests.py')
| -rw-r--r-- | archaeological_warehouse/tests.py | 61 | 
1 files changed, 61 insertions, 0 deletions
| diff --git a/archaeological_warehouse/tests.py b/archaeological_warehouse/tests.py index a342dc1f9..37babf1b2 100644 --- a/archaeological_warehouse/tests.py +++ b/archaeological_warehouse/tests.py @@ -538,6 +538,10 @@ class ContainerTest(FindInit, TestCase):              label='division2')          self.div_link = models.WarehouseDivisionLink.objects.create(              warehouse=self.main_warehouse, division=self.division) +        self.alt_warehouse = models.Warehouse.objects.create( +            name="Alt", +            warehouse_type=models.WarehouseType.objects.all()[0] +        )      def test_form_creation(self):          data = { @@ -718,3 +722,60 @@ class ContainerTest(FindInit, TestCase):                  container_2.external_id, ct.txt_idx,                  container_3.reference)) +    def test_merge_candidate(self): +        ct = models.ContainerType.objects.all()[0] +        container_1 = models.Container.objects.create( +            reference="Test", responsible=self.main_warehouse, +            location=self.main_warehouse, +            container_type=ct) +        init_mc = container_1.merge_candidate.count() +        models.Container.objects.create( +            reference="TEST", responsible=self.main_warehouse, +            location=self.main_warehouse, +            container_type=ct) +        self.assertEqual(container_1.merge_candidate.count(), +                         init_mc + 1) +        container_1.archive() +        self.assertEqual(container_1.merge_candidate.count(), +                         init_mc) + +    def test_merge_container(self): +        ct = models.ContainerType.objects.all()[0] +        ct2 = models.ContainerType.objects.all()[1] +        self.create_finds() +        self.create_finds() +        self.create_finds() +        find0 = self.finds[0] +        find1 = self.finds[1] +        find2 = self.finds[2] + +        container_1 = models.Container.objects.create( +            reference="Test 1", +            location=self.main_warehouse, +            container_type=ct) +        find0.container = container_1 +        find0.container_ref = container_1 +        find0.save() +        find1.container = container_1 +        find1.container_ref = container_1 +        find1.save() + +        container_2 = models.Container.objects.create( +            reference="Test 2", +            location=self.alt_warehouse, +            container_type=ct2) +        find2.container = container_2 +        find2.container_ref = container_2 +        find2.save() + +        container_1.merge(container_2) +        container_1 = models.Container.objects.get(pk=container_1.pk) +        self.assertEqual( +            models.Container.objects.filter(pk=container_2.pk).count(), 0) + +        # preserve existing fields +        self.assertEqual(container_1.reference, 'Test 1') +        self.assertEqual(container_1.container_type, ct) +        find_lst = [f for f in container_1.finds.all()] +        for f in [find0, find1, find2]: +            self.assertIn(f, find_lst) | 
