class TestEmailPreview(TestCase): fixtures = ['base/addon_3615', 'base/users'] def setUp(self): super(TestEmailPreview, self).setUp() assert self.client.login(email='*****@*****.**') addon = Addon.objects.get(pk=3615) self.topic = EmailPreviewTopic(addon) def test_csv(self): self.topic.send_mail('the subject', u'Hello Ivan Krsti\u0107', from_email='*****@*****.**', recipient_list=['*****@*****.**']) r = self.client.get( reverse('zadmin.email_preview_csv', args=[self.topic.topic])) assert r.status_code == 200 rdr = csv.reader(StringIO(r.content)) assert rdr.next() == [ 'from_email', 'recipient_list', 'subject', 'body' ] assert rdr.next() == [ '*****@*****.**', '*****@*****.**', 'the subject', 'Hello Ivan Krsti\xc4\x87' ]
def admin_email(all_recipients, subject, body, preview_only=False, from_email=settings.DEFAULT_FROM_EMAIL, preview_topic='admin_email', **kw): log.info('[%s@%s] admin_email about %r' % (len(all_recipients), admin_email.rate_limit, subject)) if preview_only: send = EmailPreviewTopic(topic=preview_topic).send_mail else: send = send_mail for recipient in all_recipients: send(subject, body, recipient_list=[recipient], from_email=from_email)
class TestEmailPreview(TestCase): fixtures = ['base/addon_3615', 'base/users'] def setUp(self): super(TestEmailPreview, self).setUp() assert self.client.login(email='*****@*****.**') addon = Addon.objects.get(pk=3615) self.topic = EmailPreviewTopic(addon) def test_csv(self): self.topic.send_mail('the subject', u'Hello Ivan Krsti\u0107', from_email='*****@*****.**', recipient_list=['*****@*****.**']) r = self.client.get(reverse('zadmin.email_preview_csv', args=[self.topic.topic])) assert r.status_code == 200 rdr = csv.reader(StringIO(r.content)) assert next(rdr) == ['from_email', 'recipient_list', 'subject', 'body'] assert next(rdr) == ['*****@*****.**', '*****@*****.**', 'the subject', 'Hello Ivan Krsti\xc4\x87']
def test_preview(self): res = self.post(preview_only=True) self.assertNoFormErrors(res) preview = EmailPreviewTopic(topic='email-devs') assert [e.recipient_list for e in preview.filter()] == ['*****@*****.**'] assert len(mail.outbox) == 0
def setUp(self): super(TestEmailPreview, self).setUp() assert self.client.login(email='*****@*****.**') addon = Addon.objects.get(pk=3615) self.topic = EmailPreviewTopic(addon)