You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

communication_tests.py 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from django_dynamic_fixture import G
  2. from django.contrib.auth.models import User
  3. from django.core.urlresolvers import reverse
  4. from django.core import mail
  5. from oscar.test import WebTestCase
  6. from oscar.apps.customer.models import CommunicationEventType
  7. class TestAnAdmin(WebTestCase):
  8. def setUp(self):
  9. self.staff = G(User, is_staff=True, username='1234')
  10. self.commtype = CommunicationEventType.objects.create(
  11. code='PASSWORD_RESET', name="Password reset",
  12. category=CommunicationEventType.USER_RELATED)
  13. def test_can_preview_an_email(self):
  14. list_page = self.app.get(reverse('dashboard:comms-list'),
  15. user=self.staff)
  16. update_page = list_page.click('Edit')
  17. form = update_page.form
  18. form['email_subject_template'] = 'Hello {{ user.username }}'
  19. form['email_body_template'] = 'Hello {{ user.username }}'
  20. form['email_body_html_template'] = 'Hello {{ user.username }}'
  21. preview = form.submit('show_preview')
  22. self.assertTrue('Hello 1234' in preview.content)
  23. def test_can_send_a_preview_email(self):
  24. list_page = self.app.get(reverse('dashboard:comms-list'),
  25. user=self.staff)
  26. update_page = list_page.click('Edit')
  27. form = update_page.form
  28. form['email_subject_template'] = 'Hello {{ user.username }}'
  29. form['email_body_template'] = 'Hello {{ user.username }}'
  30. form['email_body_html_template'] = 'Hello {{ user.username }}'
  31. form['preview_email'] = 'testing@example.com'
  32. form.submit('send_preview')
  33. self.assertEqual(len(mail.outbox), 1)