diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2010-09-02 19:11:53 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2010-09-03 12:44:51 +0800 |
commit | 01733fbdd54ca6e678ca5edf008ae17cea348905 (patch) | |
tree | f26b72e4b81f82c4439ce9ac554fa30276652de2 /apps | |
parent | ac8978a5fcb372d7480798065a13dbef71fa8996 (diff) | |
download | patchwork-01733fbdd54ca6e678ca5edf008ae17cea348905.tar.bz2 patchwork-01733fbdd54ca6e678ca5edf008ae17cea348905.tar.xz |
tests/updates: Add multiple invalid state change test
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/patchwork/tests/updates.py | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/apps/patchwork/tests/updates.py b/apps/patchwork/tests/updates.py index 584b787..1a04c91 100644 --- a/apps/patchwork/tests/updates.py +++ b/apps/patchwork/tests/updates.py @@ -38,15 +38,13 @@ class MultipleUpdateTest(TestCase): patch.save() self.patches.append(patch) - def testStateChangeValid(self): - states = [patch.state.pk for patch in self.patches] - state = State.objects.exclude(pk__in = states)[0] + def _testStateChange(self, state): data = {'action': 'Update', 'project': str(defaults.project.id), 'form': 'patchlistform', 'archived': '*', 'delegate': '*', - 'state': str(state.pk), + 'state': str(state), } for patch in self.patches: data['patch_id:%d' % patch.id] = 'checked' @@ -55,10 +53,25 @@ class MultipleUpdateTest(TestCase): args = [defaults.project.linkname]) response = self.client.post(url, data) self.failUnlessEqual(response.status_code, 200) - + return response + + def testStateChangeValid(self): + states = [patch.state.pk for patch in self.patches] + state = State.objects.exclude(pk__in = states)[0] + self._testStateChange(state.pk) for patch in [Patch.objects.get(pk = p.pk) for p in self.patches]: self.assertEquals(patch.state, state) + def testStateChangeInvalid(self): + state = max(State.objects.all().values_list('id', flat = True)) + 1 + orig_states = [patch.state for patch in self.patches] + response = self._testStateChange(state) + self.assertEquals( \ + [Patch.objects.get(pk = p.pk).state for p in self.patches], + orig_states) + self.assertEquals(response.context['errors'], + ['The submitted form data was invalid']) + def tearDown(self): for p in self.patches: p.delete() |