diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-07-02 12:05:25 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-07-02 12:05:25 +0200 |
commit | a57d1767d7f287457f5d03db0061889319695f59 (patch) | |
tree | d445c63f5b761875a04bc29c130c738ff4683e05 | |
parent | 9e656850b1efd7803eeeaa7a834c6f5c384ffdee (diff) | |
download | Ishtar-a57d1767d7f287457f5d03db0061889319695f59.tar.bz2 Ishtar-a57d1767d7f287457f5d03db0061889319695f59.zip |
Tests: improve wizard test management
-rw-r--r-- | archaeological_context_records/tests.py | 30 | ||||
-rw-r--r-- | ishtar_common/tests.py | 30 |
2 files changed, 45 insertions, 15 deletions
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py index 34bf15ae6..d856b3785 100644 --- a/archaeological_context_records/tests.py +++ b/archaeological_context_records/tests.py @@ -541,26 +541,26 @@ class ContextRecordWizardCreationTest(WizardTest, ContextRecordInit, TestCase): FormData( "Create a simple context record", form_datas={ - 'selec-record_creation': {}, - 'general-record_creation': { + 'selec': {}, + 'general': { 'label': "First" }, + 'relations': [] }, - ignored=('datings-record_creation', - 'interpretation-record_creation', - 'relations-record_creation',) + ignored=('datings', + 'interpretation', + ) ), FormData( "Create a context record with a relation", form_datas={ - 'selec-record_creation': {}, - 'general-record_creation': { + 'selec': {}, + 'general': { 'label': "Second" }, - 'relations-record_creation': [] + 'relations': [] }, - ignored=('datings-record_creation', - 'interpretation-record_creation',) + ignored=('datings', 'interpretation',) ), ] @@ -573,13 +573,13 @@ class ContextRecordWizardCreationTest(WizardTest, ContextRecordInit, TestCase): 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 + form_data.set('selec', 'operation_id', ope.pk) + form_data.set('general', 'parcel', parcel.pk) self.related_cr = self.create_context_record(data={'operation': ope})[0] - self.form_datas[1].form_datas['relations-record_creation'].append( + + self.form_datas[1].append( + 'relations', {'right_record': self.related_cr.pk, 'relation_type': models.RelationType.objects.create( label="Test", symmetrical=False).pk} diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index d89c8546c..c77f3d1b5 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -99,15 +99,45 @@ class WizardTestFormData(object): accepting two parameters: the current test object and the final step response """ + self.name = name self.form_datas = form_datas self.ignored = ignored[:] self.pre_tests = pre_tests self.extra_tests = extra_tests + def set(self, form_name, field_name, value): + """ + Set data value. + + :param form_name: form name without wizard name + :param field_name: field name + :param value: value + :return: None + """ + self.form_datas[form_name][field_name] = value + + def append(self, form_name, value): + """ + Add data value to formset. + + :param form_name: form name without wizard name + :param value: value + :return: None + """ + self.form_datas[form_name].append(value) + def inits(self, test_object): """ Initialisations before the wizard. """ + + suffix = '-' + test_object.url_name + # if form names are defined without url_name fix it + for form_name in self.form_datas.keys(): + if suffix in form_name: + continue + self.form_datas[form_name + suffix] = self.form_datas.pop(form_name) + for pre in self.pre_tests: pre(test_object) |