Skip to content

Instantly share code, notes, and snippets.

@akshar-raaj
Created November 30, 2012 13:21
Show Gist options
  • Save akshar-raaj/4175714 to your computer and use it in GitHub Desktop.
Save akshar-raaj/4175714 to your computer and use it in GitHub Desktop.
Some test file
from django.test import TestCase
from django.test.client import Client
from django.contrib.auth.models import User
class TestViews(TestCase):
def setUp(self):
self.test_user = User.objects.create_user(username="test",
password="test",
email="test@agiliq.com")
self.client = Client()
def test_login(self):
resp = self.client.get("/accounts/login/")
self.assertEqual(resp.status_code, 200)
resp = self.client.post("/accounts/login/", {
"username": "test",
"password": "test",
}, follow=True)
self.assertEqual(resp.status_code, 200)
resp = self.client.post('/accounts/login/', {})
self.assertFormError(resp, "form", "username", ["This field is required."])
self.assertFormError(resp, "form", "password", ["This field is required."])
resp = self.client.post('/accounts/login/', {'username':'abc'})
self.assertFormError(resp, "form", "username", ["No user exists with this username"])
self.assertFormError(resp, "form", "password", ["This field is required."])
resp = self.client.post("/accounts/login/", {
"username":"test", "password":"test123"})
self.assertFormError(resp, "form", None, ["Username and password do not match"])
logged_in = self.client.login(username="test", password="test")
self.assertEqual(logged_in, True)
logged_in = self.client.login(username="test", password="test123")
self.assertEqual(logged_in, False)
def test_logout(self):
resp = self.client.get("/accounts/logout/", follow=True)
self.assertEqual(resp.status_code, 200)
#Test logout url logs out the user
self.client.login(username="test", password="test")
resp = self.client.get('/')
self.assertEqual(resp.status_code, 200)
self.client.get('/accounts/logout/')
resp = self.client.get('/')
self.assertEqual(resp.status_code, 302)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment