示例#1
0
    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)
示例#2
0
 def test_form_create(self):
     
     # Context and request
     context = Container(u"container")
     request = TestRequest()
     
     # FTI - returns dummy factory name
     
     fti_mock = self.mocker.proxy(DexterityFTI(u"testtype"))
     self.expect(fti_mock.factory).result(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"
     
     # createObject and applyChanges
     
     obj_dummy = Item(id="dummy")
     data_dummy = {u"foo": u"bar"}
     
     createObject_mock = self.mocker.replace('zope.component.createObject')
     self.expect(createObject_mock(u"testfactory")).result(obj_dummy)
     
     applyChanges_mock = self.mocker.replace('z3c.form.form.applyChanges')
     self.expect(applyChanges_mock(form, obj_dummy, data_dummy))
     
     self.replay()
     
     self.assertEquals(obj_dummy, form.create(data_dummy))
     self.assertEquals("testtype", obj_dummy.portal_type)
示例#3
0
    def test_form_create(self):

        # Context and request
        context = Container(u"container")
        request = TestRequest()

        # FTI - returns dummy factory name

        fti_mock = self.mocker.proxy(DexterityFTI(u"testtype"))
        self.expect(fti_mock.factory).result(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"

        # createObject and applyChanges

        obj_dummy = Item(id="dummy")
        data_dummy = {u"foo": u"bar"}

        createObject_mock = self.mocker.replace('zope.component.createObject')
        self.expect(createObject_mock(u"testfactory")).result(obj_dummy)

        applyChanges_mock = self.mocker.replace('z3c.form.form.applyChanges')
        self.expect(applyChanges_mock(form, obj_dummy, data_dummy))

        self.replay()

        self.assertEqual(obj_dummy, form.create(data_dummy))
        self.assertEqual("testtype", obj_dummy.portal_type)
示例#4
0
    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)
示例#5
0
    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"

        # createObject and applyChanges

        obj_dummy = Item(id="dummy")
        data_dummy = {u"foo": u"bar"}

        from zope.component import createObject
        self.patch_global(createObject, return_value=obj_dummy)

        from z3c.form.form import applyChanges
        self.patch_global(applyChanges)

        self.assertEqual(obj_dummy, form.create(data_dummy))
        self.assertEqual("testtype", obj_dummy.portal_type)
示例#6
0
 def create(self, data):
     def getAndRemoveKey(data, key, defaultValue):
         if key in data:
             value = data[key]
             del data[key]
             return value
         else:
             return defaultValue
             
     self.authors = getAndRemoveKey(data,'IAuthors.authors',[]) or []
     self.originalFile = dict(map(lambda key: (key, getAndRemoveKey(data,'IOriginalFile.' + key,None)),
                                  IOriginalFile.names()))
     self.submittedData = data
     self.submitAgain = self.request.get('REPEAT','N') == 'Y'
     created = DefaultAddForm.create(self,data)
     return created