Mercurial > public > sg101
diff contact/tests/test_views.py @ 819:38db6ec61af3
Contact form can prepopulate subject field now.
Also updated code for PEP-8 and added tests.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 20 Sep 2014 14:05:52 -0500 |
parents | |
children | 79a71b9d0a2a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contact/tests/test_views.py Sat Sep 20 14:05:52 2014 -0500 @@ -0,0 +1,49 @@ +""" +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.from_email, post_data['email']) + 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)