testutils.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from django.contrib.auth import get_user_model
  2. from django.core.urlresolvers import reverse
  3. from django.test import TestCase
  4. from misago.users.models import AnonymousUser
  5. class UserTestCase(TestCase):
  6. USER_PASSWORD = "Pass.123"
  7. def setUp(self):
  8. self.user = self.get_anonymous_user()
  9. def get_anonymous_user(self):
  10. return AnonymousUser()
  11. def get_authenticated_user(self):
  12. User = get_user_model()
  13. return User.objects.create_user(
  14. "TestUser", "test@user.com", self.USER_PASSWORD)
  15. def get_superuser(self):
  16. User = get_user_model()
  17. return User.objects.create_superuser(
  18. "TestSuperUser", "test@superuser.com", self.USER_PASSWORD)
  19. def login_user(self, user):
  20. self.client.post(reverse('misago:login'), data={
  21. 'username': user.email,
  22. 'password': self.USER_PASSWORD,
  23. })
  24. self.client.get(reverse('misago:index'))
  25. def logout_user(self):
  26. self.client.post(reverse('misago:logout'))
  27. self.client.get(reverse('misago:index'))
  28. class AuthenticatedUserTestCase(UserTestCase):
  29. def setUp(self):
  30. self.user = self.get_authenticated_user()
  31. self.login_user(self.user)
  32. class SuperUserTestCase(UserTestCase):
  33. def setUp(self):
  34. self.user = self.get_superuser()
  35. self.login_user(self.user)