class TestTraversal(unittest.TestCase): layer = PAEventAT_INTEGRATION_TESTING def setUp(self): self.portal = self.layer['portal'] reg = zope.component.getUtility(IRegistry) settings = reg.forInterface(IEventSettings, prefix="plone.app.event") settings.portal_timezone = "Australia/Brisbane" setRoles(self.portal, TEST_USER_ID, ['Manager']) self.portal.invokeFactory(type_name='Event', id='at', title='Event1') self.at = self.portal['at'] self.at_traverser = OccurrenceTraverser(self.at, self.layer['request']) def test_no_occurrence(self): self.assertRaises( AttributeError, self.at_traverser.publishTraverse, self.layer['request'], 'foo') def test_default_views(self): view = self.at_traverser.publishTraverse( self.layer['request'], 'event_view') self.assertTrue(IBrowserView.providedBy(view)) def test_occurrence(self): self.at.setRecurrence('RRULE:FREQ=WEEKLY;COUNT=10') # does not match occurrence date qdate = datetime.date.today() + datetime.timedelta(days=4) self.assertRaises( AttributeError, self.at_traverser.publishTraverse, self.layer['request'], str(qdate)) qdatedt = pydt(self.at.start() + 7) item = self.at_traverser.publishTraverse(self.layer['request'], str(qdatedt.date())) self.assertTrue(IOccurrence.providedBy(item)) self.assertTrue(IATEvent.providedBy(item.aq_parent)) def test_occurrence_accessor(self): start = datetime.datetime.today() end = datetime.datetime.today() occ = Occurrence('ignored', start, end) occ = occ.__of__(self.portal['at']) data = IEventAccessor(occ) self.assertNotEqual(data.start, tzdel(self.portal['at'].start_date)) self.assertEqual(start, data.start) self.assertEqual(data.url, 'http://nohost/plone/at/ignored')
def setUp(self): self.portal = self.layer['portal'] reg = zope.component.getUtility(IRegistry) settings = reg.forInterface(IEventSettings, prefix="plone.app.event") settings.portal_timezone = "Australia/Brisbane" setRoles(self.portal, TEST_USER_ID, ['Manager']) self.portal.invokeFactory(type_name='Event', id='at', title='Event1') self.at = self.portal['at'] self.at_traverser = OccurrenceTraverser(self.at, self.layer['request'])