diff -r a8d18e320ef3 -r 890f6b990dd7 web/test/unittest_viewselector.py --- a/web/test/unittest_viewselector.py Tue Jul 21 12:38:10 2009 +0200 +++ b/web/test/unittest_viewselector.py Tue Jul 21 12:56:29 2009 +0200 @@ -1,7 +1,9 @@ -# -*- coding: iso-8859-1 -*- +# -*- coding: utf-8 -*- """XXX rename, split, reorganize this :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses """ +from __future__ import with_statement + from logilab.common.testlib import unittest_main from cubicweb.devtools.apptest import EnvBasedTC @@ -122,6 +124,33 @@ ('xml', xmlrss.XMLView), ]) + def test_propertiesform_admin(self): + rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"') + rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "anon"') + with traced_selection(): + self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=None)) + self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=rset1)) + self.failUnless(self.vreg.select_object('views', 'propertiesform', req2, rset=rset2)) + + def test_propertiesform_anon(self): + self.login('anon') + rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"') + rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "anon"') + with traced_selection(): + self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=None) + self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset1) + self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset2) + + def test_propertiesform_jdoe(self): + self.create_user('jdoe') + self.login('jdoe') + rset1, req1 = self.env.get_rset_and_req('CWUser X WHERE X login "admin"') + rset2, req2 = self.env.get_rset_and_req('CWUser X WHERE X login "jdoe"') + with traced_selection(): + self.failUnless(self.vreg.select_object('views', 'propertiesform', req1, rset=None)) + self.assertRaises(NoSelectableObject, self.vreg.select_object, 'views', 'propertiesform', req1, rset=rset1) + self.failUnless(self.vreg.select_object('views', 'propertiesform', req2, rset=rset2)) + def test_possible_views_multiple_different_types(self): rset, req = self.env.get_rset_and_req('Any X') self.assertListEqual(self.pviews(req, rset),