diff options
Diffstat (limited to 'archaeological_context_records/tests.py')
-rw-r--r-- | archaeological_context_records/tests.py | 62 |
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 |