def test_form_create(self): # Context and request context = Container(u"container") request = TestRequest() # FTI - returns dummy factory name fti_mock = DexterityFTI(u"testtype") fti_mock.factory = u'testfactory' self.mock_utility(fti_mock, IDexterityFTI, name=u"testtype") # The form we're testing form = DefaultAddForm(context, request) form.portal_type = u"testtype" class ISchema(Interface): foo = schema.TextLine() form.fields = Fields(ISchema) # createObject and applyChanges obj_dummy = Item(id="dummy") alsoProvides(obj_dummy, ISchema) data_dummy = {u"foo": u"bar"} from zope.component import createObject self.patch_global(createObject, return_value=obj_dummy) provideAdapter(AttributeField) self.assertEqual(obj_dummy, form.create(data_dummy)) self.assertEqual("testtype", obj_dummy.portal_type)