def test_finds_category_by_walking_up_parents(self): from zeit.newsletter.category import NewsletterCategory from zeit.newsletter.interfaces import INewsletterCategory from zeit.newsletter.newsletter import Newsletter nl = self.repository['foo'] = Newsletter() self.assertEqual(None, INewsletterCategory(nl, None)) self.repository['newsletter'] = zeit.cms.repository.folder.Folder() self.repository['newsletter']['taeglich'] = NewsletterCategory() nl = self.repository['newsletter']['taeglich']['one'] = Newsletter() self.assertEqual(self.repository['newsletter']['taeglich'], INewsletterCategory(nl))
def test_already_sent_should_not_call_send_again(self): ANY = None newsletter = Newsletter() info = zeit.cms.workflow.interfaces.IPublishInfo(newsletter) info.sent = True with mock.patch.object(newsletter, 'send') as send: zeit.newsletter.workflow.send_email(newsletter, ANY) self.assertFalse(send.called)
def test_should_call_send_and_mark_as_sent(self): ANY = None newsletter = Newsletter() info = zeit.cms.workflow.interfaces.IPublishInfo(newsletter) self.assertFalse(info.sent) with mock.patch.object(newsletter, 'send') as send: zeit.newsletter.workflow.send_email(newsletter, ANY) self.assertTrue(send.called) self.assertTrue(info.sent)
def test_block_factories_are_wired_up_correctly(self): from zeit.newsletter.newsletter import (Newsletter, Group, Teaser, MiddleAdvertisement, ThisWeeksAdvertisement, BottomAdvertisement) newsletter = Newsletter() body = newsletter['newsletter_body'] self.assertEqual([], body.keys()) factory = zope.component.getAdapter( body, zeit.edit.interfaces.IElementFactory, name='group') group = factory() self.assertIsInstance(group, Group) self.assertEqual([], group.keys()) self.assertEqual([group.__name__], body.keys()) factory = zope.component.getAdapter( group, zeit.edit.interfaces.IElementFactory, name='teaser') teaser = factory() self.assertIsInstance(teaser, Teaser) factory = zope.component.getAdapter( body, zeit.edit.interfaces.IElementFactory, name='advertisement-middle') advertisement = factory() self.assertIsInstance(advertisement, MiddleAdvertisement) factory = zope.component.getAdapter( body, zeit.edit.interfaces.IElementFactory, name='advertisement-thisweeks') advertisement = factory() self.assertIsInstance(advertisement, ThisWeeksAdvertisement) factory = zope.component.getAdapter( body, zeit.edit.interfaces.IElementFactory, name='advertisement-bottom') advertisement = factory() self.assertIsInstance(advertisement, BottomAdvertisement) xml = zeit.cms.testing.xmltotext(newsletter.xml) self.assert_ellipsis( """\ <newsletter...> <head/> <body> <region cp:type="group"...> <container cp:type="teaser"...> </region> <container cp:type="advertisement-middle".../> <container cp:type="advertisement-thisweeks".../> <container cp:type="advertisement-bottom".../> </body> </newsletter> """, xml)
def setUp(self): super(BuilderTest, self).setUp() self.category = NewsletterCategory() self.category.ressorts = (u'Politik', u'Wirtschaft') self.category.subject = 'nosubject' self.category.ad_middle_groups_above = self.MIDDLE_AD_GROUPS_ABOVE self.category.ad_thisweeks_groups_above = \ self.THISWEEKS_AD_GROUPS_ABOVE self.repository['mynl'] = self.category self.category = self.repository['mynl'] self.newsletter = self.repository['mynl']['newsletter'] = Newsletter() self.builder = zeit.newsletter.category.Builder( self.repository['mynl'], self.newsletter)
def setUp(self): super(RuleTest, self).setUp() from zeit.newsletter.newsletter import Newsletter from zeit.newsletter.category import NewsletterCategory category = NewsletterCategory() category.ad_middle_groups_above = 42 category.ad_thisweeks_groups_above = 63 self.repository['category'] = category self.category = self.repository['category'] self.category['newsletter'] = Newsletter() self.newsletter = self.category['newsletter'] factory = zope.component.getAdapter( self.newsletter.body, zeit.edit.interfaces.IElementFactory, name='group') group = factory() self.globs = IRuleGlobs(group)
def setUp(self): from zeit.newsletter.newsletter import Newsletter from zeit.newsletter.category import NewsletterCategory super(AdvertisementTest, self).setUp() category = NewsletterCategory() category.ad_middle_title = u'Some ad' category.ad_middle_groups_above = 0 category.ad_middle_image = zeit.cms.interfaces.ICMSContent( 'http://xml.zeit.de/2006/DSC00109_2.JPG') category.ad_thisweeks_groups_above = 0 self.repository['newsletter'] = category newsletter = Newsletter() ad_factory = zope.component.getAdapter( newsletter.body, zeit.edit.interfaces.IElementFactory, name='advertisement-middle') ad_factory() self.repository['newsletter']['one'] = newsletter transaction.commit() self.open('/repository/newsletter/one/@@checkout')
def setUp(self): from zeit.newsletter.category import NewsletterCategory from zeit.newsletter.newsletter import Newsletter import zeit.cms.repository.folder super(SendTest, self).setUp() category = NewsletterCategory() category.mandant = '12345' category.recipientlist = 'recipientlist' category.recipientlist_test = 'recipientlist_test' self.repository['mynl'] = category self.repository['mynl']['newsletter'] = Newsletter() self.newsletter = self.repository['mynl']['newsletter'] self.newsletter.subject = 'thesubject' self.renderer = mock.Mock() zope.component.getGlobalSiteManager().registerUtility( self.renderer, zeit.newsletter.interfaces.IRenderer) self.renderer.return_value = dict(html=mock.sentinel.html, text=mock.sentinel.text) self.optivo = zope.component.getUtility(zeit.optivo.interfaces.IOptivo) self.optivo.reset()
def setUp(self): super(SeleniumTestCase, self).setUp() self.repository['newsletter'] = Newsletter() transaction.commit()
def setUp(self): super(WorkflowTest, self).setUp() self.repository['newsletter'] = Newsletter() zeit.cms.workflow.interfaces.IPublishInfo( self.repository['newsletter']).published = False transaction.commit()
def get_newsletter(self): from zeit.newsletter.newsletter import Newsletter return Newsletter()
def test_newsletter_should_be_addable_to_repository(self): from zeit.newsletter.newsletter import Newsletter self.repository['newsletter'] = Newsletter() newsletter = self.repository['newsletter'] self.assertIsInstance(newsletter, Newsletter)
def setUp(self): from zeit.newsletter.newsletter import Newsletter super(EditorTest, self).setUp() self.repository['newsletter'] = Newsletter()