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