def test_no_update_of_nav_portlet_when_hooked_with_wrong_event(self): # nothing should happen still because we must change the title or the # description modified_event = ObjectModifiedEvent(self.folder) attributesTriggerNavigationPortletReload(self.folder, self.view, modified_event) result = self.view.render() self.assertEqual(result, [])
def test_update_of_nav_portlet(self): self.loginAsPortalOwner() self.portal.invokeFactory('Folder', 'testfolder') folder = self.portal.testfolder self.create_portlet(u'navigation', NavigationAssignment(topLevel=0), context=folder) self.view = folder.restrictedTraverse('@@change_title') descriptor = lifecycleevent.Attributes(IPortalObject, 'title') modified_event = ObjectModifiedEvent(folder, descriptor) attributesTriggerNavigationPortletReload(folder, self.view, modified_event) result = self.view.render() command = result[0] self.failUnless(command.has_key('selector')) self.failUnless(command['selector'].startswith('portletwrapper')) self.failUnless(command.has_key('name')) self.assertEqual(command['name'], 'replaceInnerHTML') self.failUnless(command.has_key('params')) params = result[0]['params'] self.failUnless(params.has_key('html')) html = params['html'] self.failUnless('portletNavigationTree' in html) self.failUnless(command.has_key('selectorType')) self.assertEqual(command['selectorType'], 'htmlid')