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.exceptions import ImproperlyConfigured
from django.test import SimpleTestCase
from ..emails import AbstractMail
from .generic import EmailTestMixin
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):
_subject = u'No subject'
_template_name = 'dav_base/base.html'
def __init__(self, recipient, *args, **kwargs):
self._recipient = recipient
email = ConcreteMail()
with self.assertRaises(NotImplementedError):
email.send()
def _get_recipients(self):
return [self._recipient]
class TestCase(EmailTestMixin, SimpleTestCase):
def test_send(self):
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()
self.assertEqual(len(django_mail.outbox), 1)
@@ -27,4 +40,4 @@ class TestCase(EmailTestMixin, SimpleTestCase):
self.assertSender(mail)
self.assertRecipients(mail, [recipient])
self.assertSubject(mail, u'No subject')
self.assertSubject(mail, u'')