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)
Example #2
0
 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
Example #4
0
 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
     ))
Example #7
0
 def test_behavior_provides_form_fields(self):
     self.assertTrue(
         IFormFieldProvider.providedBy(
             behaviors.IHTMLImageCacheableFromContent))