summaryrefslogtreecommitdiff
path: root/archaeological_context_records/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_context_records/tests.py')
-rw-r--r--archaeological_context_records/tests.py62
1 files changed, 56 insertions, 6 deletions
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py
index 07da79c8a..27ba0ab71 100644
--- a/archaeological_context_records/tests.py
+++ b/archaeological_context_records/tests.py
@@ -26,10 +26,11 @@ from django.core.urlresolvers import reverse
from django.test import TestCase
from django.test.client import Client
-from ishtar_common.models import ImporterType
+from ishtar_common.models import ImporterType, IshtarSiteProfile
from ishtar_common.tests import create_superuser
from archaeological_operations.tests import OperationInitTest, \
ImportOperationTest
+from archaeological_operations import models as models_ope
from archaeological_context_records import models
from ishtar_common import forms_common
@@ -109,24 +110,35 @@ class ContextRecordInit(OperationInitTest):
def get_default_context_record(self):
return self.create_context_record()[0]
+ def tearDown(self):
+ if hasattr(self, 'context_records'):
+ for cr in self.context_records:
+ try:
+ cr.delete()
+ except:
+ pass
+ self.context_records = []
+ super(ContextRecordInit, self).tearDown()
+
-class ContextRecordTest(TestCase, ContextRecordInit):
+class ContextRecordTest(ContextRecordInit, TestCase):
fixtures = ImportContextRecordTest.fixtures
def setUp(self):
+ IshtarSiteProfile.objects.create()
self.username, self.password, self.user = create_superuser()
- self.create_context_record({"label": u"CR 1"})
- self.create_context_record({"label": u"CR 2"})
+ self.create_context_record(data={"label": u"CR 1"})
+ self.create_context_record(data={"label": u"CR 2"})
cr_1 = self.context_records[0]
cr_2 = self.context_records[1]
sym_rel_type = models.RelationType.objects.filter(
symmetrical=True).all()[0]
+ self.cr_rel_type = sym_rel_type
models.RecordRelations.objects.create(
left_record=cr_1, right_record=cr_2, relation_type=sym_rel_type)
def testSearchExport(self):
- "url = reverse()get-contextrecord-full/csv?submited=1&"
c = Client()
response = c.get(reverse('get-contextrecord'))
# no result when no authentification
@@ -134,6 +146,38 @@ class ContextRecordTest(TestCase, ContextRecordInit):
c.login(username=self.username, password=self.password)
response = c.get(reverse('get-contextrecord'))
self.assertTrue(json.loads(response.content)['total'] == 2)
+ # test search label
+ response = c.get(reverse('get-contextrecord'),
+ {'label': 'cr 1'})
+ self.assertEqual(json.loads(response.content)['total'], 1)
+ # test search between relations
+ response = c.get(reverse('get-contextrecord'),
+ {'label': 'cr 1',
+ 'relation_types_0': self.cr_rel_type.pk})
+ self.assertEqual(json.loads(response.content)['total'], 2)
+ # test search between operation relations
+ first_ope = self.operations[0]
+ first_ope.year = 2010
+ first_ope.save()
+ cr_1 = self.context_records[0]
+ cr_1.operation = first_ope
+ cr_1.save()
+ other_ope = self.operations[1]
+ other_ope.year = 2016
+ other_ope.save()
+ cr_2 = self.context_records[1]
+ cr_2.operation = other_ope
+ cr_2.save()
+ rel_ope = models_ope.RelationType.objects.create(
+ symmetrical=True, label='Linked', txt_idx='link')
+ models_ope.RecordRelations.objects.create(
+ left_record=other_ope,
+ right_record=first_ope,
+ relation_type=rel_ope)
+ response = c.get(reverse('get-contextrecord'),
+ {'operation__year': 2010,
+ 'ope_relation_types_0': rel_ope.pk})
+ self.assertEqual(json.loads(response.content)['total'], 2)
# export
response = c.get(reverse('get-contextrecord-full',
kwargs={'type': 'csv'}), {'submited': '1'})
@@ -141,8 +185,14 @@ class ContextRecordTest(TestCase, ContextRecordInit):
lines = [line for line in response.content.split('\n') if line]
self.assertEqual(len(lines), 3)
+ def testZExternalID(self):
+ cr = self.context_records[0]
+ self.assertEqual(
+ cr.external_id,
+ u"{}-{}".format(cr.parcel.external_id, cr.label))
+
-class RecordRelationsTest(TestCase, ContextRecordInit):
+class RecordRelationsTest(ContextRecordInit, TestCase):
fixtures = ImportOperationTest.fixtures
model = models.ContextRecord