]> git.ozlabs.org Git - patchwork/commitdiff
tests/bundle: Check for form errors during bundle updates
authorJeremy Kerr <jk@ozlabs.org>
Sun, 30 Dec 2012 05:31:08 +0000 (13:31 +0800)
committerJeremy Kerr <jk@ozlabs.org>
Sun, 30 Dec 2012 05:59:52 +0000 (13:59 +0800)
Add a check for patchform errors during bundle update operations, both
when logged in as a maintainer and a regular user.

This exposes a problem with the maintainer patchform: we see an
unexpected form error with the state input.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
apps/patchwork/tests/bundles.py

index 0404576e905c82555a9664d247def6834bfbecfe..00a2323f79fe02ded4d44d10fea15f075cdc8925 100644 (file)
@@ -127,6 +127,15 @@ class BundleUpdateTest(BundleTestBase):
         super(BundleUpdateTest, self).setUp()
         self.newname = 'newbundlename'
 
+    def checkPatchformErrors(self, response):
+        formname = 'patchform'
+        if not formname in response.context:
+            return
+        form = response.context[formname]
+        if not form:
+            return
+        self.assertEquals(form.errors, {})
+
     def publicString(self, public):
         if public:
             return 'on'
@@ -159,6 +168,9 @@ class BundleUpdateTest(BundleTestBase):
         self.assertEqual(bundle.name, newname)
         self.assertEqual(bundle.public, self.bundle.public)
 
+        # check other forms for errors
+        self.checkPatchformErrors(response)
+
     def testUpdatePublic(self):
         newname = 'newbundlename'
         data = {
@@ -173,6 +185,17 @@ class BundleUpdateTest(BundleTestBase):
         self.assertEqual(bundle.name, self.bundle.name)
         self.assertEqual(bundle.public, not self.bundle.public)
 
+        # check other forms for errors
+        self.checkPatchformErrors(response)
+
+class BundleMaintainerUpdateTest(BundleUpdateTest):
+
+    def setUp(self):
+        super(BundleMaintainerUpdateTest, self).setUp()
+        profile = self.user.get_profile()
+        profile.maintainer_projects.add(defaults.project)
+        profile.save()
+
 class BundlePublicViewTest(BundleTestBase):
 
     def setUp(self):