web/test/unittest_views_editforms.py
branchtls-sprint
changeset 1398 5fe84a5f7035
parent 1359 bef6891393d7
child 1533 bcd4bfff658b
equal deleted inserted replaced
1397:6cbc7bc8ea6d 1398:5fe84a5f7035
     7     return [(rschema.type, x) for rschema, tschemas, x in AEF.erelations_by_category(entity, category)]
     7     return [(rschema.type, x) for rschema, tschemas, x in AEF.erelations_by_category(entity, category)]
     8 
     8 
     9 class AutomaticEntityFormTC(EnvBasedTC):
     9 class AutomaticEntityFormTC(EnvBasedTC):
    10 
    10 
    11     def test_custom_widget(self):
    11     def test_custom_widget(self):
    12         AEF.rwidgets.set_rtag(AutoCompletionWidget, 'login', 'subject', 'EUser')
    12         AEF.rwidgets.set_rtag(AutoCompletionWidget, 'login', 'subject', 'CWUser')
    13         form = self.vreg.select_object('forms', 'edition', self.request(), None,
    13         form = self.vreg.select_object('forms', 'edition', self.request(), None,
    14                                        entity=self.user())
    14                                        entity=self.user())
    15         field = form.field_by_name('login')
    15         field = form.field_by_name('login')
    16         self.assertIsInstance(field.widget, AutoCompletionWidget)
    16         self.assertIsInstance(field.widget, AutoCompletionWidget)
    17         AEF.rwidgets.del_rtag('login', 'subject', 'EUser')
    17         AEF.rwidgets.del_rtag('login', 'subject', 'CWUser')
    18         
    18         
    19 
    19 
    20     def test_euser_relations_by_category(self):
    20     def test_euser_relations_by_category(self):
    21         #for (rtype, role, stype, otype), tag in AEF.rcategories._tagdefs.items():
    21         #for (rtype, role, stype, otype), tag in AEF.rcategories._tagdefs.items():
    22         #    if rtype == 'tags':
    22         #    if rtype == 'tags':
    23         #        print rtype, role, stype, otype, ':', tag
    23         #        print rtype, role, stype, otype, ':', tag
    24         e = self.etype_instance('EUser')
    24         e = self.etype_instance('CWUser')
    25         # see custom configuration in views.euser
    25         # see custom configuration in views.euser
    26         self.assertEquals(rbc(e, 'primary'),
    26         self.assertEquals(rbc(e, 'primary'),
    27                           [('login', 'subject'),
    27                           [('login', 'subject'),
    28                            ('upassword', 'subject'),
    28                            ('upassword', 'subject'),
    29                            ('in_group', 'subject'),
    29                            ('in_group', 'subject'),
    46                               [('primary_email', 'subject'),
    46                               [('primary_email', 'subject'),
    47                                ('use_email', 'subject'),
    47                                ('use_email', 'subject'),
    48                                ('connait', 'subject'),
    48                                ('connait', 'subject'),
    49                                ('checked_by', 'object'),
    49                                ('checked_by', 'object'),
    50                                ])
    50                                ])
    51         # owned_by is defined both as subject and object relations on EUser
    51         # owned_by is defined both as subject and object relations on CWUser
    52         self.assertListEquals(rbc(e, 'generated'),
    52         self.assertListEquals(rbc(e, 'generated'),
    53                               [('has_text', 'subject'),
    53                               [('has_text', 'subject'),
    54                                ('identity', 'subject'),
    54                                ('identity', 'subject'),
    55                                ('is', 'subject'),
    55                                ('is', 'subject'),
    56                                ('is_instance_of', 'subject'),
    56                                ('is_instance_of', 'subject'),
    61                                ('owned_by', 'object'),
    61                                ('owned_by', 'object'),
    62                                ('identity', 'object'),
    62                                ('identity', 'object'),
    63                                ])
    63                                ])
    64 
    64 
    65     def test_inlined_view(self):
    65     def test_inlined_view(self):
    66         self.failUnless(AEF.rinlined.etype_rtag('EUser', 'use_email', 'subject'))
    66         self.failUnless(AEF.rinlined.etype_rtag('CWUser', 'use_email', 'subject'))
    67         self.failIf(AEF.rinlined.etype_rtag('EUser', 'primary_email', 'subject'))
    67         self.failIf(AEF.rinlined.etype_rtag('CWUser', 'primary_email', 'subject'))
    68         
    68         
    69     def test_personne_relations_by_category(self):
    69     def test_personne_relations_by_category(self):
    70         e = self.etype_instance('Personne')
    70         e = self.etype_instance('Personne')
    71         self.assertListEquals(rbc(e, 'primary'),
    71         self.assertListEquals(rbc(e, 'primary'),
    72                               [('nom', 'subject'),
    72                               [('nom', 'subject'),
   103                                ('is_instance_of', 'subject'),
   103                                ('is_instance_of', 'subject'),
   104                                ('identity', 'object'),
   104                                ('identity', 'object'),
   105                                ])
   105                                ])
   106         
   106         
   107     def test_edition_form(self):
   107     def test_edition_form(self):
   108         rset = self.execute('EUser X LIMIT 1')
   108         rset = self.execute('CWUser X LIMIT 1')
   109         form = self.vreg.select_object('forms', 'edition', rset.req, rset,
   109         form = self.vreg.select_object('forms', 'edition', rset.req, rset,
   110                                        row=0, col=0)
   110                                        row=0, col=0)
   111         # should be also selectable by specifying entity
   111         # should be also selectable by specifying entity
   112         self.vreg.select_object('forms', 'edition', self.request(), None,
   112         self.vreg.select_object('forms', 'edition', self.request(), None,
   113                                 entity=rset.get_entity(0, 0))
   113                                 entity=rset.get_entity(0, 0))
   114         self.failIf(any(f for f in form.fields if f is None))
   114         self.failIf(any(f for f in form.fields if f is None))
   115         
   115         
   116         
   116         
   117 class FormViewsTC(WebTest):
   117 class FormViewsTC(WebTest):
   118     def test_delete_conf_formview(self):
   118     def test_delete_conf_formview(self):
   119         rset = self.execute('EGroup X')
   119         rset = self.execute('CWGroup X')
   120         self.view('deleteconf', rset, template=None).source
   120         self.view('deleteconf', rset, template=None).source
   121         
   121         
   122     def test_automatic_edition_formview(self):
   122     def test_automatic_edition_formview(self):
   123         rset = self.execute('EUser X')
   123         rset = self.execute('CWUser X')
   124         self.view('edition', rset, row=0, template=None).source
   124         self.view('edition', rset, row=0, template=None).source
   125         
   125         
   126     def test_automatic_edition_formview(self):
   126     def test_automatic_edition_formview(self):
   127         rset = self.execute('EUser X')
   127         rset = self.execute('CWUser X')
   128         self.view('copy', rset, row=0, template=None).source
   128         self.view('copy', rset, row=0, template=None).source
   129         
   129         
   130     def test_automatic_creation_formview(self):
   130     def test_automatic_creation_formview(self):
   131         self.view('creation', None, etype='EUser', template=None).source
   131         self.view('creation', None, etype='CWUser', template=None).source
   132         
   132         
   133     def test_automatic_muledit_formview(self):
   133     def test_automatic_muledit_formview(self):
   134         rset = self.execute('EUser X')
   134         rset = self.execute('CWUser X')
   135         self.view('muledit', rset, template=None).source
   135         self.view('muledit', rset, template=None).source
   136         
   136         
   137     def test_automatic_reledit_formview(self):
   137     def test_automatic_reledit_formview(self):
   138         rset = self.execute('EUser X')
   138         rset = self.execute('CWUser X')
   139         self.view('reledit', rset, row=0, rtype='login', template=None).source
   139         self.view('reledit', rset, row=0, rtype='login', template=None).source
   140         
   140         
   141     def test_automatic_inline_edit_formview(self):
   141     def test_automatic_inline_edit_formview(self):
   142         geid = self.execute('EGroup X LIMIT 1')[0][0]
   142         geid = self.execute('CWGroup X LIMIT 1')[0][0]
   143         rset = self.execute('EUser X LIMIT 1')
   143         rset = self.execute('CWUser X LIMIT 1')
   144         self.view('inline-edition', rset, row=0, rtype='in_group', peid=geid, template=None).source
   144         self.view('inline-edition', rset, row=0, rtype='in_group', peid=geid, template=None).source
   145                               
   145                               
   146     def test_automatic_inline_creation_formview(self):
   146     def test_automatic_inline_creation_formview(self):
   147         geid = self.execute('EGroup X LIMIT 1')[0][0]
   147         geid = self.execute('CWGroup X LIMIT 1')[0][0]
   148         self.view('inline-creation', None, etype='EUser', rtype='in_group', peid=geid, template=None).source
   148         self.view('inline-creation', None, etype='CWUser', rtype='in_group', peid=geid, template=None).source
   149 
   149 
   150         
   150         
   151 if __name__ == '__main__':
   151 if __name__ == '__main__':
   152     unittest_main()
   152     unittest_main()