diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-03-09 17:20:37 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-06-17 13:21:27 +0200 |
commit | 5030a8ea149caa7c7c544bdc492aa276c79eae75 (patch) | |
tree | f603c879b5e7d4a82d9602cbdb5143056af01747 /archaeological_finds/tests.py | |
parent | 17107d80e46987327741529fe07e6fccba27c302 (diff) | |
download | Ishtar-5030a8ea149caa7c7c544bdc492aa276c79eae75.tar.bz2 Ishtar-5030a8ea149caa7c7c544bdc492aa276c79eae75.zip |
Autocomplete: small fix and general tests
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r-- | archaeological_finds/tests.py | 74 |
1 files changed, 68 insertions, 6 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index d40c9b19e..38cee1a91 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -39,11 +39,13 @@ from archaeological_finds import models, views from archaeological_warehouse.models import Warehouse, WarehouseType, \ ContainerType, Container, WarehouseDivision, WarehouseDivisionLink, \ ContainerLocalisation +from archaeological_operations.models import Operation, OperationType +from archaeological_context_records.models import ContextRecord from ishtar_common import forms_common from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \ - TestCase, create_user, create_superuser + TestCase, create_user, create_superuser, AutocompleteTestBase, AcItem from archaeological_operations.tests import ImportTest, create_operation from archaeological_context_records.tests import ContextRecordInit, \ CONTEXT_RECORD_FIXTURES, CONTEXT_RECORD_TOWNS_FIXTURES @@ -68,7 +70,11 @@ WAREHOUSE_FIXTURES = FIND_FIXTURES + [ class FindInit(ContextRecordInit): test_context_records = False - def create_finds(self, data_base={}, data={}, user=None, force=False): + def create_finds(self, data_base=None, data=None, user=None, force=False): + if not data_base: + data_base = {} + if not data: + data = {} if not getattr(self, 'finds', None): self.finds = [] if not getattr(self, 'base_finds', None): @@ -1740,7 +1746,7 @@ class GeomaticTest(FindInit, TestCase): cr = ContextRecord.objects.get(pk=base_find.context_record.pk) cr.point_2d = 'SRID=4326;' + center cr.point_source = 'P' - cr.point_source_item = unicode(ContextRecord._meta.verbose_name) + cr.point_source_item = str(ContextRecord._meta.verbose_name) cr.save() cr = ContextRecord.objects.get(pk=base_find.context_record.pk) cr.x = cr.point_2d.x @@ -1758,7 +1764,7 @@ class GeomaticTest(FindInit, TestCase): self.assertEqual(base_find.multi_polygon, cr.multi_polygon) self.assertEqual(base_find.point_source, 'P') # precise self.assertEqual(base_find.point_source_item, - unicode(ContextRecord._meta.verbose_name)) + str(ContextRecord._meta.verbose_name)) # overload of coordinates by form base_find = models.BaseFind.objects.get(pk=base_find.pk) @@ -1823,7 +1829,7 @@ class GeomaticTest(FindInit, TestCase): cr = ContextRecord.objects.get(pk=base_find.context_record.pk) cr.multi_polygon = 'SRID=4326;' + limit cr.multi_polygon_source = 'P' - cr.multi_polygon_source_item = unicode(ContextRecord._meta.verbose_name) + cr.multi_polygon_source_item = str(ContextRecord._meta.verbose_name) cr.save() cr = ContextRecord.objects.get(pk=base_find.context_record.pk) base_find = models.BaseFind.objects.get(pk=base_find.pk) @@ -1833,7 +1839,7 @@ class GeomaticTest(FindInit, TestCase): self.assertEqual(base_find.multi_polygon, cr.multi_polygon) self.assertEqual(base_find.multi_polygon_source, 'P') # precise self.assertEqual(base_find.multi_polygon_source_item, - unicode(ContextRecord._meta.verbose_name)) + str(ContextRecord._meta.verbose_name)) base_find = models.BaseFind.objects.get(pk=base_find.pk) base_find.point_source = None @@ -1849,3 +1855,59 @@ class GeomaticTest(FindInit, TestCase): base_find = models.BaseFind.objects.get(pk=base_find.pk) self.assertEqual(base_find.point_2d.ewkt, "SRID=4326;POINT (42 3)") self.assertEqual(base_find.point_source, 'P') + + +class AutocompleteTest(AutocompleteTestBase, TestCase): + fixtures = FIND_FIXTURES + models = [ + AcItem(models.ObjectType, 'autocomplete-objecttype'), + AcItem(models.MaterialType, 'autocomplete-materialtype'), + AcItem(models.TreatmentType, 'autocomplete-treatmenttype', + default_values={"virtual": False}), + AcItem(models.IntegrityType, 'autocomplete-integritytype'), + AcItem(models.TreatmentFile, 'autocomplete-treatmentfile', + prepare_func="create_treatmentfile"), + AcItem(models.FindBasket, 'autocomplete-findbasket', + prepare_func="create_findbasket"), + AcItem(models.Find, 'autocomplete-find', prepare_func="create_find"), + AcItem(models.Treatment, 'autocomplete-treatment', + prepare_func='create_treatment'), + ] + + def create_treatmentfile(self, base_name): + item, __ = models.TreatmentFile.objects.get_or_create( + name=base_name, + type=models.TreatmentFileType.objects.all()[0] + ) + return item, None + + def create_treatment(self, base_name): + item, __ = models.Treatment.objects.get_or_create( + label=base_name, + treatment_state=models.TreatmentState.objects.all()[0] + ) + return item, None + + def create_findbasket(self, base_name): + item, __ = models.FindBasket.objects.get_or_create( + label=base_name, + ) + item.user = self.user.ishtaruser + item.save() + return item, None + + def create_find(self, base_name): + ope, __ = Operation.objects.get_or_create( + common_name="Test", + operation_type=OperationType.objects.all()[0] + ) + cr, __ = ContextRecord.objects.get_or_create( + operation=ope, + label=base_name + ) + base_find = models.BaseFind.objects.create(context_record=cr) + find = models.Find.objects.create( + label=base_name, + ) + find.base_finds.add(base_find) + return find, None |