summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse/tests.py')
-rw-r--r--archaeological_warehouse/tests.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/archaeological_warehouse/tests.py b/archaeological_warehouse/tests.py
index 4290e2c42..382efb769 100644
--- a/archaeological_warehouse/tests.py
+++ b/archaeological_warehouse/tests.py
@@ -880,10 +880,33 @@ class ContainerTest(FindInit, TestCase):
def test_change_location(self):
find = self.create_finds()[0][0]
find = Find.objects.get(pk=find.pk)
+
+ main_container_1 = models.Container.objects.create(
+ reference="Test - main container",
+ responsible=self.main_warehouse,
+ location=self.main_warehouse,
+ container_type=models.ContainerType.objects.all()[1],
+ )
+ main_container_2 = models.Container.objects.create(
+ reference="Test - main container 2",
+ responsible=self.main_warehouse,
+ location=self.main_warehouse,
+ container_type=models.ContainerType.objects.all()[1],
+ )
+ top_container_1 = models.Container.objects.create(
+ reference="Test - top container",
+ responsible=self.main_warehouse,
+ location=self.main_warehouse,
+ container_type=models.ContainerType.objects.all()[1],
+ parent=main_container_1
+ )
+
+ # simple localisation
container = models.Container.objects.create(
reference="Test",
responsible=self.main_warehouse,
location=self.main_warehouse,
+ parent=top_container_1,
container_type=models.ContainerType.objects.all()[0],
)
container.save()
@@ -914,6 +937,26 @@ class ContainerTest(FindInit, TestCase):
division__warehouse=self.main_warehouse
).count()
)
+
+ # test cascade update
+ top_container_1.parent = main_container_2
+ top_container_1.save()
+ container = models.Container.objects.get(pk=container.pk)
+ container_2 = models.Container.objects.get(pk=container_2.pk)
+ find = Find.objects.get(pk=find.pk)
+ self.assertTrue(
+ find.container_fisrt_full_location.startswith(
+ main_container_2.generate_full_location()
+ )
+ )
+ self.assertTrue(
+ find.container_ref_fisrt_full_location.startswith(
+ main_container_2.generate_full_location()
+ )
+ )
+ self.assertEqual(find.container_fisrt_full_location, container.generate_full_location())
+ self.assertEqual(find.container_ref_fisrt_full_location, container_2.generate_full_location())
+
# changing location remove irrelevant localisation
other_warehouse = models.Warehouse.objects.create(
name="Other", warehouse_type=models.WarehouseType.objects.all()[0]