diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-06-13 20:18:40 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-06-13 20:18:40 +0200 |
commit | 9bc4c9e4a729dbf9fa522efaa0e0bde7c3fc148c (patch) | |
tree | ce936d9cfef2af775ecb87ae410b0241b2114047 /archaeological_context_records/tests.py | |
parent | 5b990051ebb23ed11092065b86ce257ec5ba1209 (diff) | |
download | Ishtar-9bc4c9e4a729dbf9fa522efaa0e0bde7c3fc148c.tar.bz2 Ishtar-9bc4c9e4a729dbf9fa522efaa0e0bde7c3fc148c.zip |
Context record wizard: fix related context record association on creation
Diffstat (limited to 'archaeological_context_records/tests.py')
-rw-r--r-- | archaeological_context_records/tests.py | 68 |
1 files changed, 67 insertions, 1 deletions
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py index df05f4898..07360f73a 100644 --- a/archaeological_context_records/tests.py +++ b/archaeological_context_records/tests.py @@ -27,13 +27,16 @@ from django.core.urlresolvers import reverse from django.test.client import Client from ishtar_common.models import IshtarSiteProfile, ImporterModel -from ishtar_common.tests import create_superuser, TestCase from archaeological_operations.tests import OperationInitTest, \ ImportTest, ImportOperationTest from archaeological_operations import models as models_ope from archaeological_context_records import models +from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \ + create_superuser, TestCase + +from archaeological_context_records import views class ImportContextRecordTest(ImportTest, TestCase): @@ -527,3 +530,66 @@ class RecordRelationsTest(ContextRecordInit, TestCase): self.assertEqual(models.RecordRelations.objects.filter( left_record=cr_2, right_record=cr_1, relation_type=rel_type_2).count(), 1) + + +class ContextRecordWizardCreationTest(WizardTest, ContextRecordInit, TestCase): + fixtures = ImportOperationTest.fixtures + url_name = 'record_creation' + wizard_name = 'record_wizard' + steps = views.record_creation_steps + form_datas = [ + FormData( + "Create a simple context record", + form_datas={ + 'selec-record_creation': {}, + 'general-record_creation': { + 'label': "First" + }, + }, + ignored=('datings-record_creation', + 'interpretation-record_creation', + 'relations-record_creation',) + ), + FormData( + "Create a context record with a relation", + form_datas={ + 'selec-record_creation': {}, + 'general-record_creation': { + 'label': "Second" + }, + 'relations-record_creation': [] + }, + ignored=('datings-record_creation', + 'interpretation-record_creation',) + ), + ] + + def pre_wizard(self): + profile, created = IshtarSiteProfile.objects.get_or_create( + slug='default', active=True) + profile.context_record = True + profile.save() + + ope = self.get_default_operation() + parcel = self.get_default_parcel() + for form_data in self.form_datas: + form_data.form_datas['selec-record_creation']['operation_id'] = \ + ope.pk + form_data.form_datas['general-record_creation']['parcel'] = \ + parcel.pk + + self.related_cr = self.create_context_record(data={'operation': ope})[0] + self.form_datas[1].form_datas['relations-record_creation'].append( + {'right_record': self.related_cr.pk, + 'relation_type': models.RelationType.objects.create( + label="Test").pk} + ) + + self.cr_nb = models.ContextRecord.objects.count() + super(ContextRecordWizardCreationTest, self).pre_wizard() + + def post_wizard(self): + self.assertEqual(models.ContextRecord.objects.count(), + self.cr_nb + 2) + self.assertEqual(self.related_cr.left_relations.count(), + 1) |