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>
super(BundleUpdateTest, self).setUp()
self.newname = 'newbundlename'
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'
def publicString(self, public):
if public:
return 'on'
self.assertEqual(bundle.name, newname)
self.assertEqual(bundle.public, self.bundle.public)
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 = {
def testUpdatePublic(self):
newname = 'newbundlename'
data = {
self.assertEqual(bundle.name, self.bundle.name)
self.assertEqual(bundle.public, not self.bundle.public)
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):
class BundlePublicViewTest(BundleTestBase):
def setUp(self):