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')