diff options
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 | 
