X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=apps%2Fpatchwork%2Ftests%2Fupdates.py;fp=apps%2Fpatchwork%2Ftests%2Fupdates.py;h=0000000000000000000000000000000000000000;hb=f79c54871da0c36daaa559ec4a86f3e926bbe9ff;hp=177ee78ae3b243ac2d1f00737e3c2929be2ca27c;hpb=628a57c214b63b81e457a4a369cc370f4254358f;p=patchwork diff --git a/apps/patchwork/tests/updates.py b/apps/patchwork/tests/updates.py deleted file mode 100644 index 177ee78..0000000 --- a/apps/patchwork/tests/updates.py +++ /dev/null @@ -1,118 +0,0 @@ -# Patchwork - automated patch tracking system -# Copyright (C) 2010 Jeremy Kerr -# -# This file is part of the Patchwork package. -# -# Patchwork is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# Patchwork is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Patchwork; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -from django.test import TestCase -from django.core.urlresolvers import reverse -from patchwork.models import Patch, Person, State -from patchwork.tests.utils import defaults, create_maintainer - -class MultipleUpdateTest(TestCase): - def setUp(self): - defaults.project.save() - self.user = create_maintainer(defaults.project) - self.client.login(username = self.user.username, - password = self.user.username) - self.properties_form_id = 'patchform-properties' - self.url = reverse( - 'patchwork.views.patch.list', args = [defaults.project.linkname]) - self.base_data = { - 'action': 'Update', 'project': str(defaults.project.id), - 'form': 'patchlistform', 'archived': '*', 'delegate': '*', - 'state': '*'} - self.patches = [] - for name in ['patch one', 'patch two', 'patch three']: - patch = Patch(project = defaults.project, msgid = name, - name = name, content = '', - submitter = Person.objects.get(user = self.user)) - patch.save() - self.patches.append(patch) - - def _selectAllPatches(self, data): - for patch in self.patches: - data['patch_id:%d' % patch.id] = 'checked' - - def testArchivingPatches(self): - data = self.base_data.copy() - data.update({'archived': 'True'}) - self._selectAllPatches(data) - response = self.client.post(self.url, data) - self.assertContains(response, 'No patches to display', - status_code = 200) - for patch in [Patch.objects.get(pk = p.pk) for p in self.patches]: - self.assertTrue(patch.archived) - - def testUnArchivingPatches(self): - # Start with one patch archived and the remaining ones unarchived. - self.patches[0].archived = True - self.patches[0].save() - data = self.base_data.copy() - data.update({'archived': 'False'}) - self._selectAllPatches(data) - response = self.client.post(self.url, data) - self.assertContains(response, self.properties_form_id, - status_code = 200) - for patch in [Patch.objects.get(pk = p.pk) for p in self.patches]: - self.assertFalse(patch.archived) - - def _testStateChange(self, state): - data = self.base_data.copy() - data.update({'state': str(state)}) - self._selectAllPatches(data) - response = self.client.post(self.url, data) - self.assertContains(response, self.properties_form_id, - 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 p in self.patches: - self.assertEquals(Patch.objects.get(pk = p.pk).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.assertFormError(response, 'patchform', 'state', - 'Select a valid choice. That choice is not one ' + \ - 'of the available choices.') - - def _testDelegateChange(self, delegate_str): - data = self.base_data.copy() - data.update({'delegate': delegate_str}) - self._selectAllPatches(data) - response = self.client.post(self.url, data) - self.assertContains(response, self.properties_form_id, - status_code=200) - return response - - def testDelegateChangeValid(self): - delegate = create_maintainer(defaults.project) - response = self._testDelegateChange(str(delegate.pk)) - for p in self.patches: - self.assertEquals(Patch.objects.get(pk = p.pk).delegate, delegate) - - def testDelegateClear(self): - response = self._testDelegateChange('') - for p in self.patches: - self.assertEquals(Patch.objects.get(pk = p.pk).delegate, None)