From a4f8ceb10cb00e6b2b0906c79eacb59162e4e7be Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 24 Feb 2021 13:17:23 +0100 Subject: Container templates: add a "material_types" and a "material_types_code" --- archaeological_warehouse/tests.py | 47 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'archaeological_warehouse/tests.py') 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]))) + -- cgit v1.2.3