summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
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
commitefdc83d806b06c03a5789b3ebaed177f593ca4e5 (patch)
treef603c879b5e7d4a82d9602cbdb5143056af01747 /archaeological_finds
parentb1f4a23679de9a561ed8ec3be9b79e851873bc0f (diff)
downloadIshtar-efdc83d806b06c03a5789b3ebaed177f593ca4e5.tar.bz2
Ishtar-efdc83d806b06c03a5789b3ebaed177f593ca4e5.zip
Autocomplete: small fix and general tests
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/tests.py74
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