X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=apps%2Fpatchwork%2Ftests%2Fupdates.py;fp=apps%2Fpatchwork%2Ftests%2Fupdates.py;h=1a04c91ff0aa87336f3d235357ab6414d7a135f6;hb=01733fbdd54ca6e678ca5edf008ae17cea348905;hp=584b78735eb0504e8aca5e28f77b477d7522377c;hpb=ac8978a5fcb372d7480798065a13dbef71fa8996;p=patchwork 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()