コード例 #1
0
    def test_recent_items(self):
        self.setRoles(['Manager'])
        if 'news' in self.portal:
            self.portal._delObject('news')
        if 'events' in self.portal:
            self.portal._delObject('events')
        if 'front-page' in self.portal:
            self.portal._delObject('front-page')
        if 'Members' in self.portal:
            self.portal._delObject('Members')
            self.folder = None

        self.portal.invokeFactory('Document', 'doc1')

        self.portal.invokeFactory('Folder', 'folder1', title="My Folder")
        folder_path = '/folder1'
        self.portal.folder1.invokeFactory('Document', 'doc2')

        r = self.renderer(assignment=customizablerecent.Assignment())
        self.assertEquals(3, len(r.recent_items()))

        r = self.renderer(assignment=customizablerecent.Assignment(count=2))
        self.assertEquals(2, len(r.recent_items()))

        r = self.renderer(assignment=customizablerecent.Assignment(
            content_types=('Document', )))
        self.assertEquals(2, len(r.recent_items()))

        r = self.renderer(assignment=customizablerecent.Assignment(
            root=folder_path))
        self.assertEquals(2, len(r.recent_items()))

        r = self.renderer(assignment=customizablerecent.Assignment(
            root=folder_path, content_types=('Document', )))
        self.assertEquals(1, len(r.recent_items()))
コード例 #2
0
    def test_title(self):
        r = self.renderer(assignment=customizablerecent.Assignment())
        self.assertEquals(str(r.title), 'box_recent_changes')

        r = self.renderer(assignment=customizablerecent.Assignment(
            name="The changes"))
        self.assertEquals(str(r.title), "The changes")

        self.portal.invokeFactory('Folder', 'folder1', title="My Folder")

        r = self.renderer(assignment=customizablerecent.Assignment(
            root='/folder1'))
        self.assertEquals(str(r.title), 'local_recent_label')
        self.assertEquals(r.title.mapping['name'], "My Folder")
コード例 #3
0
    def test_recently_modified_link(self):
        r = self.renderer(assignment=customizablerecent.Assignment())
        self.failUnless(
            r.recently_modified_link().endswith('/recently_modified'))

        r = self.renderer(assignment=customizablerecent.Assignment(
            content_types=('Document', )))
        self.failUnless(r.recently_modified_link().endswith(
            '/recently_modified?portal_type:list=Document'))

        r = self.renderer(assignment=customizablerecent.Assignment(
            content_types=('Document', 'Folder')))
        self.failUnless(r.recently_modified_link().endswith(
            '/recently_modified?portal_type:list=Document&portal_type:list=Folder'
        ))
コード例 #4
0
    def test_invoke_edit_view(self):
        # NOTE: This test can be removed if the portlet has no edit form
        mapping = PortletAssignmentMapping()
        request = self.folder.REQUEST

        mapping['foo'] = customizablerecent.Assignment()
        editview = getMultiAdapter((mapping['foo'], request), name='edit')
        self.failUnless(isinstance(editview, customizablerecent.EditForm))
コード例 #5
0
    def test_obtain_renderer(self):
        context = self.folder
        request = self.folder.REQUEST
        view = self.folder.restrictedTraverse('@@plone')
        manager = getUtility(IPortletManager,
                             name='plone.rightcolumn',
                             context=self.portal)

        # TODO: Pass any keyword arguments to the Assignment constructor
        assignment = customizablerecent.Assignment()

        renderer = getMultiAdapter(
            (context, request, view, manager, assignment), IPortletRenderer)
        self.failUnless(isinstance(renderer, customizablerecent.Renderer))
コード例 #6
0
    def renderer(self,
                 context=None,
                 request=None,
                 view=None,
                 manager=None,
                 assignment=None):
        context = context or self.portal
        request = request or self.portal.REQUEST
        view = view or self.portal.restrictedTraverse('@@plone')
        manager = manager or getUtility(
            IPortletManager, name='plone.rightcolumn', context=self.portal)

        # TODO: Pass any default keyword arguments to the Assignment
        # constructor.
        assignment = assignment or customizablerecent.Assignment()
        return getMultiAdapter((context, request, view, manager, assignment),
                               IPortletRenderer)
コード例 #7
0
 def test_interfaces(self):
     # TODO: Pass any keyword arguments to the Assignment constructor
     portlet = customizablerecent.Assignment()
     self.failUnless(IPortletAssignment.providedBy(portlet))
     self.failUnless(IPortletDataProvider.providedBy(portlet.data))