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.7KB

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