def testOldContentMadeExtensible(self):
     id = self.folder.invokeFactory(EVENT_PORTAL_TYPE, BIRTH_ID)
     birth = getattr(self.folder, id)
     self.failIf(IPFGExtensible.providedBy(birth))
     self.loginAsManager()
     populate(self.portal)
     self.failUnless(IPFGExtensible.providedBy(birth))
 def testFormIsRegistered(self):
     self.loginAsManager()
     populate(self.portal)
     tool = getToolByName(self.portal, TOOL_ID)
     form = getattr(tool, FORM_ID)
     self.failUnless(IPFGExtenderForm.providedBy(form))
     registered = queryUtility(IPFGExtenderForm, EVENT_PORTAL_TYPE)
     self.assertEquals(form, registered)
 def testOldContentNoLongerExtensible(self):
     id = self.folder.invokeFactory(EVENT_PORTAL_TYPE, BIRTH_ID)
     birth = getattr(self.folder, id)
     self.loginAsManager()
     populate(self.portal)
     tool = getToolByName(self.portal, TOOL_ID)
     tool.resetFormForPortalType(EVENT_PORTAL_TYPE)
     self.failIf(IPFGExtensible.providedBy(birth))
 def testStringField(self):
     self.loginAsManager()
     populate(self.portal)
     id = self.folder.invokeFactory(EVENT_PORTAL_TYPE, BIRTH_ID)
     birth = getattr(self.folder, id)
     schema = birth.Schema()
     field = schema.getField(FIRSTNAME_ID)
     self.failUnless(isinstance(field, StringField))
 def testTypeIsExtended(self):
     self.loginAsManager()
     populate(self.portal)
     id = self.folder.invokeFactory(EVENT_PORTAL_TYPE, BIRTH_ID)
     birth = getattr(self.folder, id)
     schema = birth.Schema()
     self.failUnless(FIRSTNAME_ID in schema.keys())
     self.failUnless(HOME_ID in schema.keys())
 def testFormShouldNotBeRenamed(self):
     self.loginAsManager()
     populate(self.portal)
     tool = getattr(self.portal, TOOL_ID)
     # savepoint needs to be called to please CopySupport.cb_isMoveable
     transaction.savepoint()
     NEW_FORM_ID = "new"
     tool.manage_renameObject(FORM_ID, NEW_FORM_ID)
     self.assertRaises(KeyError, queryUtility, IPFGExtenderForm, EVENT_PORTAL_TYPE)
 def testFieldsAreWellConstructed(self):
     self.loginAsManager()
     populate(self.portal)
     id = self.folder.invokeFactory(EVENT_PORTAL_TYPE, BIRTH_ID)
     birth = getattr(self.folder, id)
     schema = birth.Schema()
     field = schema.getField(FIRSTNAME_ID)
     self.assertEquals(field.getName(), FIRSTNAME_ID)
     self.assertEquals(field.widget.label, FIRSTNAME_TITLE)
 def testTypeWithWrongRegistration(self):
     self.loginAsManager()
     populate(self.portal)
     tool = getattr(self.portal, TOOL_ID)
     tool.registerFormForPortalType(FORM_ID + "x", EVENT_PORTAL_TYPE)
     id = self.folder.invokeFactory(EVENT_PORTAL_TYPE, BIRTH_ID)
     birth = getattr(self.folder, id)
     schema = birth.Schema()
     self.failIf(FIRSTNAME_ID in schema.keys())
     self.failIf(HOME_ID in schema.keys())
 def testViewlet(self):
     self.loginAsManager()
     populate(self.portal)
     id = self.folder.invokeFactory(EVENT_PORTAL_TYPE, BIRTH_ID)
     birth = getattr(self.folder, id)
     request = self.folder.REQUEST
     viewlet = FieldsViewlet(birth, request, None, None)
     viewlet.update()
     fieldNames = [field.getName() for field in viewlet.getFields()]
     self.failUnless(FIRSTNAME_ID in fieldNames)
 def testPopulated(self):
     self.loginAsManager()
     populate(self.portal)
     tool = getToolByName(self.portal, TOOL_ID)
     self.failUnless(FORM_ID in tool)