web/test/unittest_viewselector.py
changeset 2458 4d114865098f
parent 2440 8e6b83e3b6b5
parent 2405 443449336153
child 2643 9976f511003b
--- a/web/test/unittest_viewselector.py	Thu Jul 23 15:29:07 2009 +0200
+++ b/web/test/unittest_viewselector.py	Thu Jul 23 15:33:03 2009 +0200
@@ -1,4 +1,4 @@
-# -*- 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
 """
@@ -60,6 +60,9 @@
             print 'missing', [v for v in content.keys() if not v in expected]
             raise
 
+    def setUp(self):
+        super(VRegistryTC, self).setUp()
+        assert self.vreg['views']['propertiesform']
 
     def test_possible_views_none_rset(self):
         req = self.request()
@@ -123,6 +126,31 @@
                               ('xml', xmlrss.XMLView),
                               ])
 
+    def test_propertiesform_admin(self):
+        assert self.vreg['views']['propertiesform']
+        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"')
+        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"')
+        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"')
+        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),