web/test/unittest_viewselector.py
changeset 2458 4d114865098f
parent 2440 8e6b83e3b6b5
parent 2405 443449336153
child 2643 9976f511003b
equal deleted inserted replaced
2457:d0f31e119936 2458:4d114865098f
     1 # -*- coding: iso-8859-1 -*-
     1 # -*- coding: utf-8 -*-
     2 """XXX rename, split, reorganize this
     2 """XXX rename, split, reorganize this
     3 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses
     3 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses
     4 """
     4 """
     5 from logilab.common.testlib import unittest_main
     5 from logilab.common.testlib import unittest_main
     6 
     6 
    58             print registry, sorted(expected), sorted(content.keys())
    58             print registry, sorted(expected), sorted(content.keys())
    59             print 'no more', [v for v in expected if not v in content.keys()]
    59             print 'no more', [v for v in expected if not v in content.keys()]
    60             print 'missing', [v for v in content.keys() if not v in expected]
    60             print 'missing', [v for v in content.keys() if not v in expected]
    61             raise
    61             raise
    62 
    62 
       
    63     def setUp(self):
       
    64         super(VRegistryTC, self).setUp()
       
    65         assert self.vreg['views']['propertiesform']
    63 
    66 
    64     def test_possible_views_none_rset(self):
    67     def test_possible_views_none_rset(self):
    65         req = self.request()
    68         req = self.request()
    66         self.assertListEqual(self.pviews(req, None),
    69         self.assertListEqual(self.pviews(req, None),
    67                              [('changelog', wdoc.ChangeLogView),
    70                              [('changelog', wdoc.ChangeLogView),
   120                               ('text', baseviews.TextView),
   123                               ('text', baseviews.TextView),
   121                               ('treeview', treeview.TreeView),
   124                               ('treeview', treeview.TreeView),
   122                               ('xbel', xbel.XbelView),
   125                               ('xbel', xbel.XbelView),
   123                               ('xml', xmlrss.XMLView),
   126                               ('xml', xmlrss.XMLView),
   124                               ])
   127                               ])
       
   128 
       
   129     def test_propertiesform_admin(self):
       
   130         assert self.vreg['views']['propertiesform']
       
   131         rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"')
       
   132         rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "anon"')
       
   133         self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=None))
       
   134         self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=rset1))
       
   135         self.failUnless(self.vreg.select_object('views', 'propertiesform', req2, rset=rset2))
       
   136 
       
   137     def test_propertiesform_anon(self):
       
   138         self.login('anon')
       
   139         rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"')
       
   140         rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "anon"')
       
   141         self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=None)
       
   142         self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset1)
       
   143         self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset2)
       
   144 
       
   145     def test_propertiesform_jdoe(self):
       
   146         self.create_user('jdoe')
       
   147         self.login('jdoe')
       
   148         rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"')
       
   149         rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "jdoe"')
       
   150         self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=None))
       
   151         self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset1)
       
   152         self.failUnless(self.vreg.select_object('views', 'propertiesform', req2, rset=rset2))
   125 
   153 
   126     def test_possible_views_multiple_different_types(self):
   154     def test_possible_views_multiple_different_types(self):
   127         rset, req = self.env.get_rset_and_req('Any X')
   155         rset, req = self.env.get_rset_and_req('Any X')
   128         self.assertListEqual(self.pviews(req, rset),
   156         self.assertListEqual(self.pviews(req, rset),
   129                              [('csvexport', csvexport.CSVRsetView),
   157                              [('csvexport', csvexport.CSVRsetView),