diff options
Diffstat (limited to 'ishtar_common/tests.py')
| -rw-r--r-- | ishtar_common/tests.py | 16 | 
1 files changed, 15 insertions, 1 deletions
| diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 7443c271e..f6cd3eff4 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -361,7 +361,7 @@ class WizardTest(object):      @classmethod      def wizard_post(cls, client, url, current_step, form_data=None, -                    follow=True): +                    follow=True, extra_data=None):          if not url:              url = reverse(cls.url_name)          data = { @@ -380,6 +380,8 @@ class WizardTest(object):          else:              for k in form_data:                  data['{}-{}'.format(current_step, k)] = form_data[k] +        if extra_data: +            data.update(extra_data)          try:              response = client.post(url, data, follow=follow) @@ -400,10 +402,22 @@ class WizardTest(object):              test_form_data.inits(self)              form_data = test_form_data.form_datas              ignored = test_form_data.ignored +            previous_step, back_tested = None, False              for idx, step in enumerate(self.steps):                  current_step, current_form = step                  if current_step in ignored:                      continue +                if not previous_step: +                    previous_step = idx +                elif not back_tested: +                    # test going back on a form +                    response = self.wizard_post( +                        self.client, url, current_step, None, +                        extra_data={"form_previous_step": previous_step} +                    ) +                    self.assertEqual(response.status_code, 200) +                    back_tested = True +                  next_form_is_checked = len(self.steps) > idx + 1 and \                                         self.steps[idx + 1][0] not in ignored                  data = [] | 
