Skip to content

Commit 9e7332a

Browse files
committed
helpers for mock mixins, added test for r extended context
1 parent 6de97fa commit 9e7332a

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

tests/helpers.py

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from django.views.generic.base import ContextMixin
2+
from templated_mail.mail import BaseEmailMessage
3+
4+
5+
class MockMailContext(ContextMixin):
6+
def get_context_data(self, **kwargs):
7+
context = super(MockMailContext, self).get_context_data(**kwargs)
8+
context['thing'] = 42
9+
return context
10+
11+
12+
class MockMail(BaseEmailMessage, MockMailContext):
13+
pass

tests/test_mail.py

+12
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
from django.test import RequestFactory, TestCase
1010
from templated_mail.mail import BaseEmailMessage
1111

12+
from .helpers import MockMail
13+
1214

1315
class TestBaseEmailMessage(TestCase):
1416
def setUp(self):
@@ -203,3 +205,13 @@ def test_mail_from_email_is_sent_with_valid_from_email(self):
203205
self.assertEqual(mail.outbox[0].body, 'Foobar email content')
204206
self.assertEqual(mail.outbox[0].alternatives, [])
205207
self.assertEqual(mail.outbox[0].content_subtype, 'plain')
208+
209+
def test_extending_mail_with_context_mixin(self):
210+
email_message = MockMail(
211+
template_name='text_mail.html', context={'foo': 'bar'}
212+
)
213+
214+
context = email_message.get_context_data()
215+
216+
self.assertEquals(context['foo'], 'bar')
217+
self.assertEquals(context['thing'], 42)

0 commit comments

Comments
 (0)