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) |