UPD: improved test of dav_base.emails.AbstractEmail
This commit is contained in:
@@ -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'')
|
||||
|
||||
Reference in New Issue
Block a user