Mercurial > public > sg101
view contact/tests/test_views.py @ 1106:2315707f582d
Add period to polls & contests blocks.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 06 Jul 2016 20:46:09 -0500 |
parents | 79a71b9d0a2a |
children | b957e4829a03 |
line wrap: on
line source
""" Unit tests for the contact application views. """ from django.test import TestCase from django.core.urlresolvers import reverse from django.core import mail class BaseTestCase(TestCase): """Simple tests to ensure basic functionality.""" def test_usage(self): url = reverse('contact-form') response = self.client.get(url) self.assertEqual(response.status_code, 200) post_data = { 'name': 'John Doe', 'email': 'jdoe@example.com', 'subject': 'Test message', 'message': 'Testing contact form.', } response = self.client.post(url, data=post_data, follow=True) self.assertRedirects(response, reverse('contact-thanks')) self.assertEqual(len(mail.outbox), 1) email = mail.outbox[0] self.assertEqual(len(email.recipients()), 1) self.assertEqual(email.extra_headers['Reply-To'], post_data['email']) self.assertEqual(email.from_email, 'no_reply@example.com') self.assertEqual(email.recipients()[0], 'admin@surfguitar101.com') self.assertTrue(post_data['subject'] in email.subject) msg = email.message().as_string() self.assertTrue(post_data['name'] in msg) self.assertTrue(post_data['email'] in msg) self.assertTrue(post_data['message'] in msg) def test_honeypot(self): url = reverse('contact-form') post_data = { 'name': 'John Doe', 'email': 'jdoe@example.com', 'subject': 'Test message', 'message': 'Testing contact form.', 'honeypot': 'some spam', } response = self.client.post(url, data=post_data) self.assertEqual(response.status_code, 200) self.assertEqual(len(mail.outbox), 0)