Skip to content

Instantly share code, notes, and snippets.

@kennethlove
Created July 28, 2012 02:47
Show Gist options
  • Save kennethlove/3191509 to your computer and use it in GitHub Desktop.
Save kennethlove/3191509 to your computer and use it in GitHub Desktop.
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from django.template.defaultfilters import force_escap
from django.test import TestCase
from myapp.models import MyModel
class MyViewTests(TestCase):
fixtures = ["users"]
def setUp(self):
self.superuser = User.objects.get(username="superman")
self.form_dict = {
"name": "Skynet",
"description": "Where is John Conner?",
}
def login_user(self):
self.assertTrue(
self.client.login(username=self.superuser.username,
password="kryptonite"))
def test_list_view(self):
self.login_user()
url = reverse("myapp:list")
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
self.assertContains(response, "MyModel list")
self.assertTemplateUsed(response, "myapp/list.html")
def test_create_view(self):
self.login_user()
url = reverse("myapp:add")
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "myapp/form.html")
response = self.client.post(url, self.form_dict, follow=True)
self.assertContains(
response,
force_escape("MyModel 'Skynet' was created.")
)
self.assertEqual(response.status_code, 200)
self.assertRedirects(response, reverse("myapp:list"))
self.assertTemplateUsed(response, "myapp/list.html")
[
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "superman",
"first_name": "Clark",
"last_name": "Kent",
"is_active": true,
"is_superuser": true,
"is_staff": true,
"last_login": "2011-09-19 16:58:02",
"groups": [],
"user_permissions": [],
"password": "sha1$d8e15$48bfad57377f9c7f3e3b09e5ff6f7e6c3ac42386",
"email": "ckent@dailybugle.com",
"date_joined": "2011-09-19 16:57:50"
}
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment