X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=apps%2Fpatchwork%2Ftests%2Fbundles.py;h=2f2f122207f5186b2db0713f013c049277c8b9dc;hb=e21dfae1526814152603122f2ac4c9d36a7d814d;hp=1346cd836621a3f0faf261c506b354f75e6279dd;hpb=6c119273e873bc2c63ac470e7b975a721b9a6826;p=patchwork diff --git a/apps/patchwork/tests/bundles.py b/apps/patchwork/tests/bundles.py index 1346cd8..2f2f122 100644 --- a/apps/patchwork/tests/bundles.py +++ b/apps/patchwork/tests/bundles.py @@ -155,6 +155,28 @@ class BundleCreateFromListTest(BundleTestBase): self.failUnlessEqual(bundle.patches.count(), 1) self.failUnlessEqual(bundle.patches.all()[0], patch) + def testCreateNonEmptyBundleEmptyName(self): + newbundlename = 'testbundle-new' + patch = self.patches[0] + + n_bundles = Bundle.objects.count() + + params = {'form': 'patchlistform', + 'bundle_name': '', + 'action': 'Create', + 'project': defaults.project.id, + 'patch_id:%d' % patch.id: 'checked'} + + response = self.client.post( + '/project/%s/list/' % defaults.project.linkname, + params) + + self.assertContains(response, 'No bundle name was specified', + status_code = 200) + + # test that no new bundles are present + self.failUnlessEqual(n_bundles, Bundle.objects.count()) + class BundleCreateFromPatchTest(BundleTestBase): def testCreateNonEmptyBundle(self): newbundlename = 'testbundle-new' @@ -218,6 +240,49 @@ class BundleAddFromListTest(BundleTestBase): for i in [0, 1] ] self.failUnless(bps[0].order < bps[1].order) + def testAddDuplicate(self): + self.bundle.append_patch(self.patches[0]) + count = self.bundle.patches.count() + patch = self.patches[0] + + params = {'form': 'patchlistform', + 'action': 'Add', + 'project': defaults.project.id, + 'bundle_id': self.bundle.id, + 'patch_id:%d' % patch.id: 'checked'} + + response = self.client.post( + '/project/%s/list/' % defaults.project.linkname, + params) + + self.assertContains(response, 'Patch '%s' already in bundle' \ + % patch.name, count = 1, status_code = 200) + + self.assertEquals(count, self.bundle.patches.count()) + + def testAddNewAndDuplicate(self): + self.bundle.append_patch(self.patches[0]) + count = self.bundle.patches.count() + patch = self.patches[0] + + params = {'form': 'patchlistform', + 'action': 'Add', + 'project': defaults.project.id, + 'bundle_id': self.bundle.id, + 'patch_id:%d' % patch.id: 'checked', + 'patch_id:%d' % self.patches[1].id: 'checked'} + + response = self.client.post( + '/project/%s/list/' % defaults.project.linkname, + params) + + self.assertContains(response, 'Patch '%s' already in bundle' \ + % patch.name, count = 1, status_code = 200) + self.assertContains(response, 'Patch '%s' added to bundle' \ + % self.patches[1].name, count = 1, + status_code = 200) + self.assertEquals(count + 1, self.bundle.patches.count()) + class BundleAddFromPatchTest(BundleTestBase): def testAddToEmptyBundle(self): patch = self.patches[0]