[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/ZMI/tests - testZMIViewService.py:1.1.2.3

Kapil k_vertigo@yahoo.com
Sat, 9 Feb 2002 13:56:18 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/App/ZMI/tests
In directory cvs.zope.org:/tmp/cvs-serv21675

Modified Files:
      Tag: Zope-3x-branch
	testZMIViewService.py 
Log Message:
added in tests for ZMI filters



=== Zope3/lib/python/Zope/App/ZMI/tests/testZMIViewService.py 1.1.2.2 => 1.1.2.3 ===
 from Interface import Interface
 
+from Zope.ComponentArchitecture import provideAdapter, _clear
 from Zope.App.ZMI.ZMIViewService import ZMIViewService
-from Zope.App.ZMI.tests.sampleInterfaces import O1, O2, I1, I2
+from Zope.App.ZMI.tests.sampleInterfaces import *
+
 
 
 class Test(unittest.TestCase):
     #XXX we should have a test for multiple inheritance interface
     # hierarchies.
+
+    def tearDown(self):
+        _clear()
     
     def testAddView(self):
-        service = ZMIViewService()
+
+        provideAdapter(I1, ITraverser, FakeTraverser)
+        provideAdapter(I2, ITraverser, FakeTraverser)
         
+        service = ZMIViewService()
         service.registerView(I1, 'Edit', 'edit')
         service.registerView(I1, 'History', 'history')
         service.registerView(I2, 'Update', 'update_magic')
@@ -41,6 +49,25 @@
                           ('History', 'history')
                           ]
                          )
+
+    def testZMIFilter(self):
+
+        provideAdapter(I1, ITraverser, FakeTraverser)
+        provideAdapter(I2, ITraverser, FakeTraverser)        
+        
+        service = ZMIViewService()
+        service.registerView(I1, 'Edit', 'edit', 'python: 2==2')
+        service.registerView(I1, 'History', 'history', 'python: 1==2')
+        service.registerView(I2, 'Update', 'update_magic', 'python: 2==2')
+        service.registerView(I2, 'Organize', 'organize_magic', 'python: 1==2')
+
+        self.assertEqual(list(service.getViews(O1())),
+                         [('Edit', 'edit'),])
+
+        self.assertEqual(list(service.getViews(O2())),
+                         [('Update', 'update_magic'), ('Edit', 'edit')]
+                         )
+        
         
 def test_suite():
     loader=unittest.TestLoader()