diff --git a/dav_base/tests/test_emails.py b/dav_base/tests/test_emails.py index c71c3ff..9a2b2d2 100644 --- a/dav_base/tests/test_emails.py +++ b/dav_base/tests/test_emails.py @@ -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 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): + 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): 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'')