17 self.entity = self.user(self.req) |
17 self.entity = self.user(self.req) |
18 self.renderer = FormRenderer() |
18 self.renderer = FormRenderer() |
19 |
19 |
20 # form view tests ######################################################### |
20 # form view tests ######################################################### |
21 |
21 |
22 def test_delete_conf_formview(self): |
|
23 rset = self.execute('EGroup X') |
|
24 self.view('deleteconf', rset, template=None).source |
|
25 |
|
26 def test_massmailing_formview(self): |
22 def test_massmailing_formview(self): |
27 self.execute('INSERT EmailAddress X: X address L + "@cubicweb.org", ' |
23 self.execute('INSERT EmailAddress X: X address L + "@cubicweb.org", ' |
28 'U use_email X WHERE U is EUser, U login L') |
24 'U use_email X WHERE U is EUser, U login L') |
29 rset = self.execute('EUser X') |
25 rset = self.execute('EUser X') |
30 self.view('massmailing', rset, template=None) |
26 self.view('massmailing', rset, template=None) |
31 |
27 |
32 def test_automatic_edition_formview(self): |
|
33 rset = self.execute('EUser X') |
|
34 self.view('edition', rset, row=0, template=None).source |
|
35 |
|
36 def test_automatic_edition_formview(self): |
|
37 rset = self.execute('EUser X') |
|
38 self.view('copy', rset, row=0, template=None).source |
|
39 |
|
40 def test_automatic_creation_formview(self): |
|
41 self.view('creation', None, etype='EUser', template=None).source |
|
42 |
|
43 def test_automatic_muledit_formview(self): |
|
44 rset = self.execute('EUser X') |
|
45 self.view('muledit', rset, template=None).source |
|
46 |
|
47 def test_automatic_reledit_formview(self): |
|
48 rset = self.execute('EUser X') |
|
49 self.view('reledit', rset, row=0, rtype='login', template=None).source |
|
50 |
|
51 def test_automatic_inline_edit_formview(self): |
|
52 geid = self.execute('EGroup X LIMIT 1')[0][0] |
|
53 rset = self.execute('EUser X LIMIT 1') |
|
54 self.view('inline-edition', rset, row=0, rtype='in_group', peid=geid, template=None).source |
|
55 |
|
56 def test_automatic_inline_creation_formview(self): |
|
57 geid = self.execute('EGroup X LIMIT 1')[0][0] |
|
58 self.view('inline-creation', None, etype='EUser', rtype='in_group', peid=geid, template=None).source |
|
59 |
28 |
60 # form tests ############################################################## |
29 # form tests ############################################################## |
61 |
30 |
62 def test_form_inheritance(self): |
31 def test_form_inheritance(self): |
63 class CustomChangeStateForm(ChangeStateForm): |
32 class CustomChangeStateForm(ChangeStateForm): |
69 |
38 |
70 def test_change_state_form(self): |
39 def test_change_state_form(self): |
71 form = ChangeStateForm(self.req, redirect_path='perdu.com', |
40 form = ChangeStateForm(self.req, redirect_path='perdu.com', |
72 entity=self.entity) |
41 entity=self.entity) |
73 form.form_render(state=123, trcomment=u'') |
42 form.form_render(state=123, trcomment=u'') |
74 |
|
75 def test_edition_form(self): |
|
76 rset = self.execute('EUser X LIMIT 1') |
|
77 form = self.vreg.select_object('forms', 'edition', rset.req, rset, row=0, col=0) |
|
78 # should be also selectable by specifying entity |
|
79 self.vreg.select_object('forms', 'edition', self.request(), entity=rset.get_entity(0, 0)) |
|
80 self.failIf(any(f for f in form.fields if f is None)) |
|
81 |
43 |
82 # fields tests ############################################################ |
44 # fields tests ############################################################ |
83 |
45 |
84 def _render_entity_field(self, name, form): |
46 def _render_entity_field(self, name, form): |
85 form.form_add_entity_hiddens(form.edited_entity.e_schema) |
47 form.form_add_entity_hiddens(form.edited_entity.e_schema) |
97 |
59 |
98 |
60 |
99 def test_richtextfield_1(self): |
61 def test_richtextfield_1(self): |
100 self.req.use_fckeditor = lambda: False |
62 self.req.use_fckeditor = lambda: False |
101 self._test_richtextfield('''<select name="content_format:%(eid)s" id="content_format:%(eid)s" tabindex="0"> |
63 self._test_richtextfield('''<select name="content_format:%(eid)s" id="content_format:%(eid)s" tabindex="0"> |
102 <option value="text/rest">text/rest</option> |
64 <option value="text/cubicweb-page-template">text/cubicweb-page-template</option> |
103 <option selected="selected" value="text/html">text/html</option> |
65 <option selected="selected" value="text/html">text/html</option> |
104 <option value="text/plain">text/plain</option> |
66 <option value="text/plain">text/plain</option> |
105 <option value="text/cubicweb-page-template">text/cubicweb-page-template</option> |
67 <option value="text/rest">text/rest</option> |
106 </select><textarea tabindex="1" id="content:%(eid)s" name="content:%(eid)s" onkeypress="autogrow(this)"><h1>new widgets system</h1></textarea>''') |
68 </select><textarea tabindex="1" id="content:%(eid)s" name="content:%(eid)s" onkeypress="autogrow(this)"><h1>new widgets system</h1></textarea>''') |
107 |
69 |
108 |
70 |
109 def test_richtextfield_2(self): |
71 def test_richtextfield_2(self): |
110 self.req.use_fckeditor = lambda: True |
72 self.req.use_fckeditor = lambda: True |
161 upassword = StringField(widget=PasswordInput) |
123 upassword = StringField(widget=PasswordInput) |
162 form = PFForm(self.req, redirect_path='perdu.com', entity=self.entity) |
124 form = PFForm(self.req, redirect_path='perdu.com', entity=self.entity) |
163 self.assertTextEquals(self._render_entity_field('upassword', form), |
125 self.assertTextEquals(self._render_entity_field('upassword', form), |
164 '''<input id="upassword:%(eid)s" type="password" name="upassword:%(eid)s" value="__cubicweb_internal_field__" tabindex="0"/> |
126 '''<input id="upassword:%(eid)s" type="password" name="upassword:%(eid)s" value="__cubicweb_internal_field__" tabindex="0"/> |
165 <br/> |
127 <br/> |
166 <input type="password" name="upassword-confirm:%(eid)s" tabindex="0"/> |
128 <input type="password" name="upassword-confirm:%(eid)s" value="__cubicweb_internal_field__" tabindex="0"/> |
167 |
129 |
168 <span class="emphasis">confirm password</span>''' % {'eid': self.entity.eid}) |
130 <span class="emphasis">confirm password</span>''' % {'eid': self.entity.eid}) |
169 |
131 |
170 |
132 |
171 if __name__ == '__main__': |
133 if __name__ == '__main__': |