UPD: more/better tests.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from django.apps import apps
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core import mail as django_mail
|
||||
from django.test import TestCase
|
||||
|
||||
from dav_base.tests.generic import EmailTestCase
|
||||
|
||||
from ..emails import PasswordSetEmail
|
||||
|
||||
@@ -11,18 +11,21 @@ TEST_USERNAME = 'user'
|
||||
TEST_PASSWORD = u'me||ön 2'
|
||||
TEST_EMAIL = 'root@localhost'
|
||||
|
||||
PASSWORD_EMAIL_TEMPLATE = u"""Hallo {fullname},
|
||||
|
||||
class EmailsTestCase(TestCase):
|
||||
Benutzername: {username}
|
||||
Passwort: {password}
|
||||
|
||||
URL: {base_url}/
|
||||
"""
|
||||
|
||||
|
||||
class TestCase(EmailTestCase):
|
||||
def setUp(self):
|
||||
super(TestCase, self).setUp()
|
||||
model = get_user_model()
|
||||
self.user = model.objects.create_user(username=TEST_USERNAME, password=TEST_PASSWORD, email=TEST_EMAIL)
|
||||
|
||||
self.email_sender = 'Automatic Software Test <root@localhost>'
|
||||
self.email_subject_prefix = '[Test]'
|
||||
app_config = apps.get_app_config('dav_base')
|
||||
app_config.settings.email_sender = self.email_sender
|
||||
app_config.settings.email_subject_prefix = self.email_subject_prefix
|
||||
|
||||
def test_send(self):
|
||||
password = TEST_PASSWORD[::-1]
|
||||
|
||||
@@ -32,15 +35,14 @@ class EmailsTestCase(TestCase):
|
||||
self.assertEqual(len(django_mail.outbox), 1)
|
||||
mail = django_mail.outbox[0]
|
||||
|
||||
recipient = u'"%s" <%s>' % (self.user.get_full_name(), self.user.email)
|
||||
recipients = mail.recipients()
|
||||
self.assertIn(recipient, recipients)
|
||||
self.assertEqual(len(recipients), 1)
|
||||
self.assertSender(mail)
|
||||
self.assertRecipients(mail, [self.user])
|
||||
self.assertSubject(mail, u'Zugangsdaten')
|
||||
|
||||
self.assertEqual(mail.from_email, self.email_sender)
|
||||
|
||||
subject = u'Zugangsdaten'
|
||||
subject = u'{} {}'.format(self.email_subject_prefix, subject)
|
||||
self.assertEqual(mail.subject, subject)
|
||||
|
||||
self.assertIn(password, mail.body)
|
||||
expected_body = PASSWORD_EMAIL_TEMPLATE.format(
|
||||
fullname=self.user.get_full_name(),
|
||||
username=self.user.username,
|
||||
password=password,
|
||||
base_url=self.email_base_url,
|
||||
)
|
||||
self.assertBody(mail, expected_body)
|
||||
|
||||
Reference in New Issue
Block a user