Viewlets ======== Viewlet integration test: .. code-block:: python import unittest2 as unittest from zope.component import queryMultiAdapter from zope.viewlet.interfaces import IViewletManager from Products.Five.browser import BrowserView as View from jungzeelandia.theme.testing import JUNGZEELANDIA_THEME_INTEGRATION_TESTING class TestViewletsIntegration(unittest.TestCase): layer = JUNGZEELANDIA_THEME_INTEGRATION_TESTING def setUp(self): self.portal = self.layer['portal'] self.request = self.layer['request'] from jungzeelandia.theme.interfaces import IJungzeelandiaTheme from zope.interface import alsoProvides alsoProvides(self.request, IJungzeelandiaTheme) def test_topnav_viewlet_is_present(self): view = View(self.portal, self.request) manager = queryMultiAdapter( (self.portal, self.request, view), IViewletManager, 'plone.portalheader', default=None) self.failUnless(manager) manager.update() topnav_viewlet = [ v for v in manager.viewlets \ if v.__name__ == 'jungzeelandia.topnav'] self.failUnlessEqual(len(topnav_viewlet), 1)