コード例 #1
0
ファイル: test_newsletter.py プロジェクト: louika/vivi
 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))
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
ファイル: test_newsletter.py プロジェクト: louika/vivi
    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)
コード例 #5
0
ファイル: test_category.py プロジェクト: louika/vivi
 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)
コード例 #6
0
 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)
コード例 #7
0
ファイル: test_edit.py プロジェクト: louika/vivi
 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')
コード例 #8
0
ファイル: test_newsletter.py プロジェクト: louika/vivi
    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()
コード例 #9
0
 def setUp(self):
     super(SeleniumTestCase, self).setUp()
     self.repository['newsletter'] = Newsletter()
     transaction.commit()
コード例 #10
0
 def setUp(self):
     super(WorkflowTest, self).setUp()
     self.repository['newsletter'] = Newsletter()
     zeit.cms.workflow.interfaces.IPublishInfo(
         self.repository['newsletter']).published = False
     transaction.commit()
コード例 #11
0
ファイル: test_newsletter.py プロジェクト: louika/vivi
 def get_newsletter(self):
     from zeit.newsletter.newsletter import Newsletter
     return Newsletter()
コード例 #12
0
ファイル: test_newsletter.py プロジェクト: louika/vivi
 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)
コード例 #13
0
ファイル: test_edit.py プロジェクト: louika/vivi
 def setUp(self):
     from zeit.newsletter.newsletter import Newsletter
     super(EditorTest, self).setUp()
     self.repository['newsletter'] = Newsletter()