Mercurial > public > sg101
diff bio/tests/test_views.py @ 744:8789299c75b1
Django 1.6: test discovery as per unittest.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 29 Dec 2013 14:45:26 -0600 |
parents | bio/tests/view_tests.py@ee87ea74d46b |
children | f01bc9500aef |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bio/tests/test_views.py Sun Dec 29 14:45:26 2013 -0600 @@ -0,0 +1,76 @@ +""" +View tests for the bio application. + +""" +from django.contrib.auth.models import User +from django.test import TestCase +from django.core.urlresolvers import reverse, NoReverseMatch + + +class MemberSearchTest(TestCase): + + USERNAME = u'John' + + def setUp(self): + user = User.objects.create_user(self.USERNAME, '', 'password') + user.save() + + self.username = 'test_user' + self.pw = 'password' + self.user = User.objects.create_user(self.username, '', self.pw) + self.user.save() + self.assertTrue(self.client.login(username=self.username, + password=self.pw)) + + def tearDown(self): + self.client.logout() + + def testValidName(self): + """ + Test a valid username. + """ + + response = self.client.post(reverse('bio-member_search'), + {'username': self.USERNAME}, + follow=True) + + self.assertEqual(len(response.redirect_chain), 1) + if response.redirect_chain: + self.assertEqual(response.redirect_chain[0][0], + 'http://testserver' + reverse('bio-view_profile', + kwargs={'username': self.USERNAME})) + self.assertEqual(response.redirect_chain[0][1], 302) + + self.assertEqual(response.status_code, 200) + + def testInvalidName(self): + """ + Test a invalid username. + """ + + response = self.client.post(reverse('bio-member_search'), + {'username': self.USERNAME + '!'}) + + self.assertEqual(response.status_code, 200) + self.assertContains(response, "That username does not exist.") + + def testTrailingSpace(self): + """ + Test a username with a trailing space. + """ + + try: + response = self.client.post(reverse('bio-member_search'), + {'username': self.USERNAME + ' '}, + follow=True) + except NoReverseMatch: + self.fail('bit by a MySQL bug?') + + self.assertEqual(len(response.redirect_chain), 1) + if response.redirect_chain: + self.assertEqual(response.redirect_chain[0][0], + 'http://testserver' + reverse('bio-view_profile', + kwargs={'username': self.USERNAME})) + self.assertEqual(response.redirect_chain[0][1], 302) + + self.assertEqual(response.status_code, 200)