web/test/unittest_form.py
branchtls-sprint
changeset 1181 620ec8e6ae19
parent 1147 402e8a8b1d6a
child 1300 62d2b890a980
equal deleted inserted replaced
1180:5536d4ee2bc3 1181:620ec8e6ae19
    15         super(EntityFieldsFormTC, self).setUp()
    15         super(EntityFieldsFormTC, self).setUp()
    16         self.req = self.request()
    16         self.req = self.request()
    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 #########################################################
       
    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):
       
    27         self.execute('INSERT EmailAddress X: X address L + "@cubicweb.org", '
       
    28                      'U use_email X WHERE U is EUser, U login L')
       
    29         rset = self.execute('EUser X')
       
    30         self.view('massmailing', rset, template=None)
       
    31         
       
    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 
    20     # form tests ##############################################################
    60     # form tests ##############################################################
    21     
    61     
    22     def test_form_inheritance(self):
    62     def test_form_inheritance(self):
    23         class CustomChangeStateForm(ChangeStateForm):
    63         class CustomChangeStateForm(ChangeStateForm):
    24             hello = IntField(name='youlou')
    64             hello = IntField(name='youlou')
    30     def test_change_state_form(self):
    70     def test_change_state_form(self):
    31         form = ChangeStateForm(self.req, redirect_path='perdu.com',
    71         form = ChangeStateForm(self.req, redirect_path='perdu.com',
    32                                entity=self.entity)
    72                                entity=self.entity)
    33         form.form_render(state=123, trcomment=u'')
    73         form.form_render(state=123, trcomment=u'')
    34         
    74         
    35     def test_delete_conf_form_multi(self):
    75     def test_edition_form(self):
    36         rset = self.execute('EGroup X')
    76         rset = self.execute('EUser X LIMIT 1')
    37         self.view('deleteconf', rset, template=None).source
    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))
    38         
    81         
    39     def test_massmailing_form(self):
       
    40         self.execute('INSERT EmailAddress X: X address L + "@cubicweb.org", '
       
    41                      'U use_email X WHERE U is EUser, U login L')
       
    42         rset = self.execute('EUser X')
       
    43         self.view('massmailing', rset, template=None)
       
    44         
       
    45     def test_automatic_edition_form(self):
       
    46         rset = self.execute('EUser X')
       
    47         self.view('edition', rset, row=0, template=None).source
       
    48         
       
    49     def test_automatic_edition_form(self):
       
    50         rset = self.execute('EUser X')
       
    51         self.view('copy', rset, row=0, template=None).source
       
    52         
       
    53     def test_automatic_creation_form(self):
       
    54         self.view('creation', None, etype='EUser', template=None).source
       
    55         
       
    56     def test_automatic_muledit_form(self):
       
    57         rset = self.execute('EUser X')
       
    58         self.view('muledit', rset, template=None).source
       
    59         
       
    60     def test_automatic_reledit_form(self):
       
    61         rset = self.execute('EUser X')
       
    62         self.view('reledit', rset, row=0, rtype='login', template=None).source
       
    63         
       
    64     def test_automatic_inline_edit_form(self):
       
    65         geid = self.execute('EGroup X LIMIT 1')[0][0]
       
    66         rset = self.execute('EUser X LIMIT 1')
       
    67         self.view('inline-edition', rset, row=0, rtype='in_group', peid=geid, template=None).source
       
    68                               
       
    69     def test_automatic_inline_creation_form(self):
       
    70         geid = self.execute('EGroup X LIMIT 1')[0][0]
       
    71         self.view('inline-creation', None, etype='EUser', rtype='in_group', peid=geid, template=None).source
       
    72 
       
    73 
       
    74     # fields tests ############################################################
    82     # fields tests ############################################################
    75 
    83 
    76     def _render_entity_field(self, name, form):
    84     def _render_entity_field(self, name, form):
    77         form.form_add_entity_hiddens(form.edited_entity.e_schema)
    85         form.form_add_entity_hiddens(form.edited_entity.e_schema)
    78         form.form_build_context({})
    86         form.form_build_context({})