1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
#
# Test the RecentPortlet View
#
import os, sys
if __name__ == '__main__':
execfile(os.path.join(sys.path[0], 'framework.py'))
from Products.CMFPlone.tests import PloneTestCase
from Products.CMFPlone.browser.interfaces import IRecentPortlet
from Products.CMFPlone.browser.portlets.recent import RecentPortlet
class TestRecentPortletView(PloneTestCase.PloneTestCase):
def afterSetUp(self):
self.url = self.portal.portal_url
#self.recent = self.portal.recent
self.workflow = self.portal.portal_workflow
def testImplementsIRecentPortlet(self):
"""RecentPortlet must implement IRecentPortlet"""
self.failUnless(IRecentPortlet.implementedBy(RecentPortlet))
def testRecentResults(self):
"""RecentPortlet.results() must return recently updated content"""
self.portal.portal_catalog.manage_catalogClear()
self.setRoles(['Manager'])
self.folder.invokeFactory('Document', id='testpage', text='data', title='Foo')
self.workflow.doActionFor(self.folder.testpage, 'publish')
view = RecentPortlet(self.portal, self.app.REQUEST)
result = view.results()
self.failUnlessEqual(len(result), 1)
self.failUnlessEqual(result[0].getId, 'testpage')
def testNoRecent(self):
"""RecentPortlet.results() must return no content when no recent items"""
# clear out the catalog to guarantee no results
self.portal.portal_catalog.manage_catalogClear()
view = RecentPortlet(self.portal, self.app.REQUEST)
result = view.results()
return result
self.failUnlessEqual(len(result), 0)
def testRecentResultsPrivate(self):
"""RecentPortlet.results() must return private items"""
self.portal.portal_catalog.manage_catalogClear()
self.setRoles(['Manager'])
self.folder.invokeFactory('Document', id='testpage', text='data', title='Foo')
self.workflow.doActionFor(self.folder.testpage, 'hide')
view = RecentPortlet(self.portal, self.app.REQUEST)
result = view.results()
self.failUnlessEqual(len(result), 1)
self.failUnlessEqual(result[0].getId, 'testpage')
def testRecentResultsPublicDraft(self):
"""RecentPortlet.results() must return public draft items"""
self.portal.portal_catalog.manage_catalogClear()
self.setRoles(['Manager'])
self.folder.invokeFactory('Document', id='testpage', text='data', title='Foo')
view = RecentPortlet(self.portal, self.app.REQUEST)
result = view.results()
self.failUnlessEqual(len(result), 1)
self.failUnlessEqual(result[0].getId, 'testpage')
def test_suite():
from unittest import TestSuite, makeSuite
suite = TestSuite()
suite.addTest(makeSuite(TestRecentPortletView))
return suite
if __name__ == '__main__':
framework()
|