X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=apps%2Fpatchwork%2Ftests%2Fbundles.py;h=d516ea8d578509ae9e10d24c2bfe924de132b6a3;hb=92d396d5e2d95dfaca844dcf13918ed66c39eead;hp=53eee2516c6459ebec6991cac2f1565bf067737c;hpb=25f3514a617e91dae3d255b3685f3a1f9799727b;p=patchwork diff --git a/apps/patchwork/tests/bundles.py b/apps/patchwork/tests/bundles.py index 53eee25..d516ea8 100644 --- a/apps/patchwork/tests/bundles.py +++ b/apps/patchwork/tests/bundles.py @@ -121,6 +121,33 @@ class BundleViewTest(BundleTestBase): self.failUnless(next_pos < pos) pos = next_pos +class BundlePublicViewTest(BundleTestBase): + + def setUp(self): + super(BundlePublicViewTest, self).setUp() + self.client.logout() + self.bundle.append_patch(self.patches[0]) + self.url = '/bundle/%s/%s/' % (self.user.username, self.bundle.name) + + def testPublicBundle(self): + self.bundle.public = True + self.bundle.save() + response = self.client.get(self.url) + self.assertEqual(response.status_code, 200) + self.assertContains(response, self.patches[0].name) + + def testPrivateBundle(self): + self.bundle.public = False + self.bundle.save() + response = self.client.get(self.url) + self.assertEqual(response.status_code, 404) + +class BundlePublicViewMboxTest(BundlePublicViewTest): + def setUp(self): + super(BundlePublicViewMboxTest, self).setUp() + self.url = '/bundle/%s/%s/mbox/' % (self.user.username, + self.bundle.name) + class BundleCreateFromListTest(BundleTestBase): def testCreateEmptyBundle(self): newbundlename = 'testbundle-new' @@ -179,6 +206,38 @@ class BundleCreateFromListTest(BundleTestBase): # test that no new bundles are present self.failUnlessEqual(n_bundles, Bundle.objects.count()) + def testCreateDuplicateName(self): + newbundlename = 'testbundle-dup' + patch = self.patches[0] + + params = {'form': 'patchlistform', + 'bundle_name': newbundlename, + 'action': 'Create', + 'project': defaults.project.id, + 'patch_id:%d' % patch.id: 'checked'} + + response = self.client.post( + '/project/%s/list/' % defaults.project.linkname, + params) + + n_bundles = Bundle.objects.count() + self.assertContains(response, 'Bundle %s created' % newbundlename) + self.assertContains(response, 'added to bundle %s' % newbundlename, + count = 1) + + bundle = Bundle.objects.get(name = newbundlename) + self.failUnlessEqual(bundle.patches.count(), 1) + self.failUnlessEqual(bundle.patches.all()[0], patch) + + response = self.client.post( + '/project/%s/list/' % defaults.project.linkname, + params) + + self.assertNotContains(response, 'Bundle %s created' % newbundlename) + self.assertContains(response, 'You already have a bundle called') + self.assertEqual(Bundle.objects.count(), n_bundles) + self.assertEqual(bundle.patches.count(), 1) + class BundleCreateFromPatchTest(BundleTestBase): def testCreateNonEmptyBundle(self): newbundlename = 'testbundle-new'