from django.core.urlresolvers import reverse from misago.users.testutils import (UserTestCase, AuthenticatedUserTestCase, SuperUserTestCase) class UserTestCaseTests(UserTestCase): def test_get_anonymous_user(self): """get_anonymous_user returns anon user instance""" user = self.get_anonymous_user() self.assertFalse(user.is_authenticated()) self.assertTrue(user.is_anonymous()) def test_get_authenticated_user(self): """get_authenticated_user returns auth user instance""" user = self.get_authenticated_user() self.assertTrue(user.is_authenticated()) self.assertFalse(user.is_anonymous()) self.assertFalse(user.is_staff) self.assertFalse(user.is_superuser) def test_get_superuser(self): """get_superuser returns auth user instance""" user = self.get_superuser() self.assertTrue(user.is_authenticated()) self.assertFalse(user.is_anonymous()) self.assertTrue(user.is_staff) self.assertTrue(user.is_superuser) def test_login_user(self): """login_user logs user""" user = self.get_authenticated_user() self.login_user(user) response = self.client.get(reverse('misago:index')) self.assertIn(user.username, response.content) def test_login_superuser(self): """login_user logs superuser""" user = self.get_superuser() self.login_user(user) response = self.client.get(reverse('misago:index')) self.assertIn(user.username, response.content) def test_logout_user(self): """logout_user logs user out""" user = self.get_authenticated_user() self.login_user(user) self.logout_user() response = self.client.get(reverse('misago:index')) self.assertNotIn(user.username, response.content) def test_logout_superuser(self): """logout_user logs superuser out""" user = self.get_superuser() self.login_user(user) self.logout_user() response = self.client.get(reverse('misago:index')) self.assertNotIn(user.username, response.content) class AuthenticatedUserTestCaseTests(AuthenticatedUserTestCase): def test_setup(self): """setup executed correctly""" response = self.client.get(reverse('misago:index')) self.assertIn(self.user.username, response.content) def test_reload_user(self): """reload_user reloads user""" user_pk = self.user.pk self.reload_user() self.assertEqual(user_pk, self.user.pk) class SuperUserTestCaseTests(SuperUserTestCase): def test_setup(self): """setup executed correctly""" response = self.client.get(reverse('misago:index')) self.assertIn(self.user.username, response.content)