summaryrefslogtreecommitdiff
path: root/ishtar_common/tests.py
diff options
context:
space:
mode:
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
commit84de894f83cb9eaaae81bb5514f8cacef4c1d986 (patch)
tree87d0f32604e7b960870a72713094dabfd3e3553e /ishtar_common/tests.py
parentda8744afc3ca6d0fbc9c35825e84dcb9a52566ad (diff)
downloadIshtar-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.py24
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(