test_mailer.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from django.contrib.auth import get_user_model
  2. from django.core import mail
  3. from django.core.urlresolvers import reverse
  4. from django.test import TestCase
  5. class MisagoFormsTests(TestCase):
  6. serialized_rollback = True
  7. urls = 'misago.core.testproject.urls'
  8. def test_mail_user(self):
  9. """mail_user sets message in backend"""
  10. User = get_user_model()
  11. test_user = User.objects.create_user('Bob', 'bob@bob.com', 'pass123')
  12. response = self.client.get(reverse('test_mail_user'))
  13. self.assertEqual(response.status_code, 200)
  14. for message in mail.outbox:
  15. if message.subject == 'Misago Test Mail':
  16. break
  17. else:
  18. self.fail("Message was not added to backend.")
  19. def test_mail_users(self):
  20. """mail_users sets messages in backend"""
  21. User = get_user_model()
  22. test_users = (
  23. User.objects.create_user('Alpha', 'alpha@test.com', 'pass123'),
  24. User.objects.create_user('Beta', 'beta@test.com', 'pass123'),
  25. User.objects.create_user('Niner', 'niner@test.com', 'pass123'),
  26. User.objects.create_user('Foxtrot', 'foxtrot@test.com', 'pass123'),
  27. User.objects.create_user('Uniform', 'uniform@test.com', 'pass123'),
  28. )
  29. response = self.client.get(reverse('test_mail_users'))
  30. self.assertEqual(response.status_code, 200)
  31. spams_sent = 0
  32. for message in mail.outbox:
  33. if message.subject == 'Misago Test Spam':
  34. spams_sent += 1
  35. self.assertEqual(spams_sent, len(test_users))