diff options
Diffstat (limited to 'archaeological_warehouse/tests.py')
| -rw-r--r-- | archaeological_warehouse/tests.py | 47 | 
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]))) +  | 
