diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-05-29 11:19:14 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-05-29 11:19:14 +0200 |
commit | 84de894f83cb9eaaae81bb5514f8cacef4c1d986 (patch) | |
tree | 87d0f32604e7b960870a72713094dabfd3e3553e /ishtar_common/tests.py | |
parent | da8744afc3ca6d0fbc9c35825e84dcb9a52566ad (diff) | |
download | Ishtar-84de894f83cb9eaaae81bb5514f8cacef4c1d986.tar.bz2 Ishtar-84de894f83cb9eaaae81bb5514f8cacef4c1d986.zip |
Fix operation_code display when old_code is hidden (refs #4104)
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r-- | ishtar_common/tests.py | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 208c8d224..7bce12a4d 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -175,8 +175,8 @@ class WizardTestFormData(object): """ Test set to simulate wizard steps """ - def __init__(self, name, form_datas={}, ignored=[], pre_tests=[], - extra_tests=[]): + def __init__(self, name, form_datas=None, ignored=None, pre_tests=None, + extra_tests=None, error_expected=None): """ :param name: explicit name of the test :param form_datas: dict with data for each step - dict key are wizard @@ -186,12 +186,14 @@ class WizardTestFormData(object): :param extra_tests: list of extra tests. These tests must be functions accepting two parameters: the current test object and the final step response + :param error_expected: step where an error is expected """ self.name = name - self.form_datas = form_datas - self.ignored = ignored[:] - self.pre_tests = pre_tests - self.extra_tests = extra_tests + self.form_datas = form_datas or {} + self.ignored = ignored[:] if ignored else [] + self.pre_tests = pre_tests or [] + self.extra_tests = extra_tests or [] + self.error_expected = error_expected def set(self, form_name, field_name, value): """ @@ -229,6 +231,8 @@ class WizardTestFormData(object): if suffix in form_name: continue self.form_datas[form_name + suffix] = self.form_datas.pop(form_name) + if self.error_expected and suffix not in self.error_expected: + self.error_expected += suffix for pre in self.pre_tests: pre(test_object) @@ -348,7 +352,13 @@ class WizardTest(object): response = self.wizard_post( self.client, url, current_step, data, not next_form_is_checked) - self.check_response(response, current_step) + + if current_step == test_form_data.error_expected: + with self.assertRaises(ValidationError): + self.check_response(response, current_step) + else: + self.check_response(response, current_step) + if next_form_is_checked: next_form = self.steps[idx + 1][0] self.assertRedirects( |