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.py47
1 files changed, 46 insertions, 1 deletions
diff --git a/archaeological_warehouse/tests.py b/archaeological_warehouse/tests.py
index 25937ed6a..e6b3a985d 100644
--- a/archaeological_warehouse/tests.py
+++ b/archaeological_warehouse/tests.py
@@ -32,7 +32,7 @@ from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \
from ishtar_common.models import IshtarSiteProfile, SpatialReferenceSystem
from archaeological_operations.models import Operation
from archaeological_context_records.models import ContextRecord
-from archaeological_finds.models import Find
+from archaeological_finds.models import Find, MaterialType
from archaeological_warehouse import models, views, forms, serializers
@@ -1098,3 +1098,48 @@ class ContainerTest(FindInit, TestCase):
container_type=ct)
self.assertEqual(models.Container.objects.get(pk=container_5.pk).index,
base_index + 3)
+
+ def test_get_material_types(self):
+ mat0 = MaterialType.objects.all()[0]
+ mat1 = MaterialType.objects.all()[1]
+ mat2 = MaterialType.objects.all()[2]
+ ct = models.ContainerType.objects.all()[0]
+ self.create_finds()
+ self.create_finds()
+ self.create_finds()
+ find0 = self.finds[0]
+ find0.material_types.add(mat0)
+ find0.material_types.add(mat1)
+ find1 = self.finds[1]
+ find0.material_types.add(mat1)
+ find0.material_types.add(mat2)
+ find2 = self.finds[2]
+
+ container_1 = models.Container.objects.create(
+ reference="Test 1",
+ location=self.main_warehouse,
+ container_type=ct)
+ container_2 = models.Container.objects.create(
+ reference="Test 2",
+ location=self.alt_warehouse,
+ container_type=ct)
+ find0.container = container_1
+ find0.save()
+ find1.container = container_1
+ find1.container_ref = container_2
+ find1.save()
+ find2.container = container_2
+ find1.save()
+
+ # no material inside this container
+ self.assertEqual(
+ container_2.get_material_types(), "")
+
+ self.assertEqual(
+ container_1.get_material_types(),
+ ", ".join(sorted([mat0.label, mat1.label, mat2.label]))
+ )
+ self.assertEqual(
+ container_1.get_material_types_code(),
+ "|".join(sorted([mat0.code, mat1.code, mat2.code])))
+