def test_availability(self): """an empty portlet may exist, but it's not displayed.""" renderer = self.renderer( assignment=existing_content_portlet.Assignment(), ) self.assertFalse(renderer.available) renderer = self.renderer( assignment=existing_content_portlet.Assignment( content_uid=self.doc.UID(), ), ) self.assertTrue(renderer.available)
def test_portlet_text(self): renderer = self.renderer( assignment=existing_content_portlet.Assignment( content_uid=self.doc.UID(), show_text=True, ), ) self.assertEqual( renderer.text, self.doc.text, ) self.doc.text = RichTextValue( '<p>lorem ipsum dolor ...</p>', mimeType='text/html', outputMimeType='text/x-html-safe', ) self.doc.reindexObject() renderer = self.renderer(assignment=renderer.data) self.assertEqual( renderer.text, self.doc.text.output, )
def testInvokeEditView(self): mapping = PortletAssignmentMapping() request = self.portal.REQUEST mapping['foo'] = existing_content_portlet.Assignment( content_uid=self.doc.UID(), ) editview = getMultiAdapter((mapping['foo'], request), name='edit') self.assertTrue( isinstance( editview, existing_content_portlet.EditForm, ), )
def test_portlet_description(self): renderer = self.renderer( assignment=existing_content_portlet.Assignment( content_uid=self.doc.UID(), show_description=True, ), ) self.assertEqual( renderer.description, self.doc.description, ) self.doc.description = 'a description' self.doc.reindexObject() renderer = self.renderer(assignment=renderer.data) self.assertEqual( renderer.description, self.doc.description, )
def testRenderer(self): context = self.portal request = self.portal.REQUEST view = self.portal.restrictedTraverse('@@plone') manager = getUtility( IPortletManager, name='plone.leftcolumn', context=self.portal, ) assignment = existing_content_portlet.Assignment( content_uid=self.doc.UID(), ) renderer = getMultiAdapter( (context, request, view, manager, assignment), IPortletRenderer, ) self.assertTrue( isinstance( renderer, existing_content_portlet.Renderer, ), )
def test_portlet_rendering(self): self.doc.description = 'a description' self.doc.text = RichTextValue( '<p>lorem ipsum dolor ...</p>', mimeType='text/html', outputMimeType='text/x-html-safe', ) self.doc.reindexObject() renderer = self.renderer( assignment=existing_content_portlet.Assignment( content_uid=self.doc.UID(), show_title=True, show_description=True, show_text=True, ), ) renderer_output = renderer.render() self.assertIn(self.doc.title, renderer_output) self.assertIn(self.doc.description, renderer_output) self.assertIn(self.doc.text.output, renderer_output)
def test_portlet_title(self): renderer = self.renderer( assignment=existing_content_portlet.Assignment( content_uid=self.doc.UID(), show_title=True, ), ) self.assertEqual( renderer.title, self.doc.title, ) self.doc.title = 'a changed title' self.doc.reindexObject() renderer = self.renderer(assignment=renderer.data) self.assertEqual( renderer.title, self.doc.title, )
def renderer( self, context=None, request=None, view=None, manager=None, assignment=None, ): context = self.portal request = request or self.portal.REQUEST view = view or self.portal.restrictedTraverse('@@plone') manager = manager or getUtility( IPortletManager, name='plone.leftcolumn', context=self.portal, ) assignment = assignment or existing_content_portlet.Assignment( content_uid=self.doc.UID(), ) return getMultiAdapter( (context, request, view, manager, assignment), IPortletRenderer, )
def testInterfaces(self): portlet = existing_content_portlet.Assignment() self.assertTrue(IPortletAssignment.providedBy(portlet)) self.assertTrue(IPortletDataProvider.providedBy(portlet.data))