def test_marks_behavior(self): fti = queryUtility(IDexterityFTI, name='upfront.assessmentitem.content.assessmentitem') factory = fti.factory new_assessmentitem = createObject(factory) self.failUnless(IAssessmentItem.providedBy(new_assessmentitem)) fti = queryUtility(IDexterityFTI, name='upfront.assessmentitem.content.answer') factory = fti.factory new_answer = createObject(factory) self.failUnless(IAnswer.providedBy(new_answer)) marks_behavior = getUtility(IBehavior, name = 'upfront.assessmentitem.behaviors.IMarks') # We expect this behavior to be a form field provider. Let's verify that self.failUnless( IFormFieldProvider.providedBy(marks_behavior.interface) ) # assert that you cannot add this behavior to a non-dexterity # content type doc = Document('doc') marks_adapter = IMarks(doc, None) self.assertEquals(False, marks_adapter is not None) # assert that new_assessmentitem object implements the behavior marks_adapter2 = IMarks(new_assessmentitem, None) self.assertEquals(True, marks_adapter2 is not None) # assert that new_answer object does not implements the behavior marks_adapter3 = IMarks(new_answer, None) self.assertEquals(False, marks_adapter3 is not None)
def behavior_installed(self, name, iface): # make sure we get the desired behavior after install name = u'psj.content.behaviors.%s' % name behavior = queryUtility(IBehavior, name=name, default=None) self.assertTrue(behavior is not None) self.assertEqual(behavior.interface, iface) # make sure the behavior provides IFormFieldProvider self.assertEqual( IFormFieldProvider.providedBy(behavior.interface), True) return
def _getDexteritySchemas(self, portal_type): fti = getUtility(IDexterityFTI, name=portal_type) schemas = [fti.lookupSchema()] # Schemas provided by behaviors can only be looked up by looping # through behaviors or asking SCHEMA_CACHE for subtypes... for behavior_name in fti.behaviors: behavior = queryUtility(IBehavior, name=behavior_name) if behavior is not None and IFormFieldProvider.providedBy(behavior.interface): schemas.append(behavior.interface) return schemas
def testBehaviorProvidesFields(self): from plone.directives.form import IFormFieldProvider priced = queryUtility( IBehavior, name='collective.shoppingbehavior.behaviors.IPriced') self.assertTrue(IFormFieldProvider.providedBy(priced.interface))
def testBehaviorProvidesFields(self): from plone.directives.form import IFormFieldProvider priced = queryUtility(IBehavior, name='collective.shoppingbehavior.behaviors.IPriced') self.assertTrue(IFormFieldProvider.providedBy(priced.interface))
def test_behavior_provides_form_fields(self): self.assertTrue(IFormFieldProvider.providedBy( behaviors.IHTMLImageCacheableFromContent ))
def test_behavior_provides_form_fields(self): self.assertTrue( IFormFieldProvider.providedBy( behaviors.IHTMLImageCacheableFromContent))