UPD: improved test of dav_base.emails.AbstractEmail

This commit is contained in:
2019-03-28 10:49:57 +01:00
parent 97a4f8bd70
commit 962d0ebedb

View File

@@ -1,25 +1,38 @@
from django.core import mail as django_mail from django.core import mail as django_mail
from django.core.exceptions import ImproperlyConfigured
from django.test import SimpleTestCase from django.test import SimpleTestCase
from ..emails import AbstractMail from ..emails import AbstractMail
from .generic import EmailTestMixin from .generic import EmailTestMixin
class ConcreteMail(AbstractMail):
_subject = u'No subject'
_template_name = 'dav_base/base.html'
def __init__(self, recipient, *args, **kwargs):
self._recipient = recipient
def _get_recipients(self):
return [self._recipient]
class TestCase(EmailTestMixin, SimpleTestCase): class TestCase(EmailTestMixin, SimpleTestCase):
def test_no_template_configured(self):
class ConcreteMail(AbstractMail):
pass
email = ConcreteMail()
with self.assertRaises(ImproperlyConfigured):
email.send()
def test_no_get_recipients_implemented(self):
class ConcreteMail(AbstractMail):
_template_name = 'dav_base/base.html'
email = ConcreteMail()
with self.assertRaises(NotImplementedError):
email.send()
def test_send(self): def test_send(self):
recipient = 'root@localhost' recipient = 'root@localhost'
email = ConcreteMail(recipient)
class ConcreteMail(AbstractMail):
_template_name = 'dav_base/base.html'
def _get_recipients(self):
return [recipient]
email = ConcreteMail()
email.send() email.send()
self.assertEqual(len(django_mail.outbox), 1) self.assertEqual(len(django_mail.outbox), 1)
@@ -27,4 +40,4 @@ class TestCase(EmailTestMixin, SimpleTestCase):
self.assertSender(mail) self.assertSender(mail)
self.assertRecipients(mail, [recipient]) self.assertRecipients(mail, [recipient])
self.assertSubject(mail, u'No subject') self.assertSubject(mail, u'')