Login

Testing email sending

Author:
monikasulik
Posted:
February 19, 2015
Language:
Python
Version:
1.7
Score:
0 (after 0 ratings)

How I assert email is being sent correctly

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from django.test import TestCase
from django.core import mail


class TestSomething(TestCase):
    def test_something_in_something(self):
        # run whatever code that is supposed to send emails

        self.assertEqual(len(mail.outbox), 1)
        msg = mail.outbox[0]
        self.assertItemsEqual(msg.recipients(), ['[email protected]'])
        self.assertEqual(msg.subject, 'Subject')
        url = 'https://example.com%s' % reverse('url_name')
        self.assertIn(url, msg.body)  # verification urls, change password urls etc. when applicable
        self.assertIn('Specific text like comments on why something was accepted/rejected', msg.body)

More like this

  1. Template tag - list punctuation for a list of items by shapiromatron 2 months, 2 weeks ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 2 months, 3 weeks ago
  3. Serializer factory with Django Rest Framework by julio 9 months, 2 weeks ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 10 months, 1 week ago
  5. Help text hyperlinks by sa2812 11 months ago

Comments

Please login first before commenting.