Beispiel #1
0
    def test_send_immediately_success(self, get_current_request):
        get_current_request.return_value = self.request
        add_users()
        self.request.context = Mailing.by_name('welcome_email')

        result = self.view.send_immediately_success(self.APPSTRUCT)
        self.assertIsInstance(result, HTTPFound)
        self.assertEqual(result.location, '/mailing/4/edit/')

        self.assertEqual(
            self.request.session.pop_flash(),
            [u'Mailing "welcome_email" sent to 1 recipients.'],
        )

        mailer = get_mailer(self.request)
        self.assertEqual(len(mailer.outbox), 1)
        self.assertEqual(mailer.outbox[0].recipients, [
            '*****@*****.**',
        ])
        self.assertEqual(mailer.outbox[0].subject, u'Über Welcome!')

        self.assertIn(
            u'Hello Öne Bar',
            mailer.outbox[0].html,
        )
        self.assertIn(u'Welcome to this über amazing BIMT app!',
                      mailer.outbox[0].html)
        self.assertIn('Best wishes,', mailer.outbox[0].html)
        self.assertIn('BIMT Team', mailer.outbox[0].html)
Beispiel #2
0
    def test_set_value_for_send_immediately_button(self):
        add_groups()
        add_users()
        add_demo_mailing()
        self.request.context = Mailing.by_name('welcome_email')

        schema = colander.Schema()
        form = deform.Form(schema, buttons=['foo', 'bar', 'send_immediately'])
        self.view.before(form)
        self.assertEqual(form.buttons[0].value, 'foo')
        self.assertEqual(form.buttons[1].value, 'bar')
        self.assertEqual(
            form.buttons[2].value,
            'Immediately send mailing "welcome_email" to all 1 recipients '
            'without date constraints?')
Beispiel #3
0
 def test_appstruct_full_context(self):
     self.request.context = Mailing.by_name('welcome_email')
     self.assertEqual(
         self.view.appstruct(), {
             'name': 'welcome_email',
             'groups': [
                 '4',
             ],
             'exclude_groups': [
                 '1',
             ],
             'trigger': MailingTriggers.after_created.name,
             'days': 1,
             'subject': u'Über Welcome!',
             'body': u'Welcome to this über amazing BIMT app!',
         })
Beispiel #4
0
    def test_test_success(self):
        add_users()
        self.request.user = User.by_email('*****@*****.**')
        self.request.context = Mailing.by_name('welcome_email')

        result = self.view.test_success(self.APPSTRUCT)
        self.assertIsInstance(result, HTTPFound)
        self.assertEqual(result.location, '/mailing/4/edit/')

        self.assertEqual(
            self.request.session.pop_flash(),
            [u'Mailing "welcome_email" sent to "*****@*****.**".'],
        )

        mailer = get_mailer(self.request)
        self.assertEqual(len(mailer.outbox), 1)
        self.assertEqual(mailer.outbox[0].subject,
                         u'[Mailing Test] Über Welcome!')
        self.assertIn('This mailing would be sent to:', mailer.outbox[0].html)
        self.assertIn('*****@*****.**', mailer.outbox[0].html)