web/test/unittest_form.py
changeset 1995 ec95eaa2b711
parent 1983 5edd22d0e61a
child 2005 e8032965f37a
equal deleted inserted replaced
1994:56a235af050e 1995:ec95eaa2b711
     7 """
     7 """
     8 from logilab.common.testlib import unittest_main, mock_object
     8 from logilab.common.testlib import unittest_main, mock_object
     9 from cubicweb import Binary
     9 from cubicweb import Binary
    10 from cubicweb.devtools.testlib import WebTest
    10 from cubicweb.devtools.testlib import WebTest
    11 from cubicweb.web.form import EntityFieldsForm, FieldsForm
    11 from cubicweb.web.form import EntityFieldsForm, FieldsForm
    12 from cubicweb.web.formrenderers import FormRenderer
       
    13 from cubicweb.web.formfields import (IntField, StringField, RichTextField,
    12 from cubicweb.web.formfields import (IntField, StringField, RichTextField,
    14                                      DateTimeField, DateTimePicker,
    13                                      DateTimeField, DateTimePicker,
    15                                      FileField, EditableFileField)
    14                                      FileField, EditableFileField)
    16 from cubicweb.web.formwidgets import PasswordInput
    15 from cubicweb.web.formwidgets import PasswordInput
    17 from cubicweb.web.views.workflow import ChangeStateForm
    16 from cubicweb.web.views.workflow import ChangeStateForm
       
    17 from cubicweb.web.views.formrenderers import FormRenderer
    18 
    18 
    19 
    19 
    20 class FieldsFormTC(WebTest):
    20 class FieldsFormTC(WebTest):
    21 
    21 
    22     def test_form_field_format(self):
    22     def test_form_field_format(self):
    31 
    31 
    32     def setUp(self):
    32     def setUp(self):
    33         super(EntityFieldsFormTC, self).setUp()
    33         super(EntityFieldsFormTC, self).setUp()
    34         self.req = self.request()
    34         self.req = self.request()
    35         self.entity = self.user(self.req)
    35         self.entity = self.user(self.req)
    36         self.renderer = FormRenderer()
       
    37 
    36 
    38     def test_form_field_vocabulary_unrelated(self):
    37     def test_form_field_vocabulary_unrelated(self):
    39         b = self.add_entity('BlogEntry', title=u'di mascii code', content=u'a best-seller')
    38         b = self.add_entity('BlogEntry', title=u'di mascii code', content=u'a best-seller')
    40         t = self.add_entity('Tag', name=u'x')
    39         t = self.add_entity('Tag', name=u'x')
    41         form1 = EntityFieldsForm(self.request(), None, entity=t)
    40         form1 = EntityFieldsForm(self.request(), None, entity=t)
   121 
   120 
   122     # fields tests ############################################################
   121     # fields tests ############################################################
   123 
   122 
   124     def _render_entity_field(self, name, form):
   123     def _render_entity_field(self, name, form):
   125         form.form_build_context({})
   124         form.form_build_context({})
   126         return form.field_by_name(name).render(form, self.renderer)
   125         renderer = FormRenderer(self.req)
       
   126         return form.field_by_name(name).render(form, renderer)
   127 
   127 
   128     def _test_richtextfield(self, expected):
   128     def _test_richtextfield(self, expected):
   129         class RTFForm(EntityFieldsForm):
   129         class RTFForm(EntityFieldsForm):
   130             description = RichTextField()
   130             description = RichTextField()
   131         state = self.execute('State X WHERE X name "activated", X state_of ET, ET name "CWUser"').get_entity(0, 0)
   131         state = self.execute('State X WHERE X name "activated", X state_of ET, ET name "CWUser"').get_entity(0, 0)