test_useradmin_views.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from django.contrib.auth import get_user_model
  2. from django.core.urlresolvers import reverse
  3. from misago.admin.testutils import AdminTestCase
  4. class UserAdminViewsTests(AdminTestCase):
  5. def test_link_registered(self):
  6. """admin index view contains users link"""
  7. response = self.client.get(reverse('misago:admin:index'))
  8. self.assertIn(reverse('misago:admin:users:accounts:index'),
  9. response.content)
  10. def test_list_view(self):
  11. """users list view returns 200"""
  12. response = self.client.get(
  13. reverse('misago:admin:users:accounts:index'))
  14. self.assertEqual(response.status_code, 302)
  15. response = self.client.get(response['location'])
  16. self.assertEqual(response.status_code, 200)
  17. self.assertIn('TestAdmin', response.content)
  18. def test_list_search(self):
  19. """users list is searchable"""
  20. response = self.client.get(
  21. reverse('misago:admin:users:accounts:index'))
  22. self.assertEqual(response.status_code, 302)
  23. link_base = response['location']
  24. response = self.client.get(link_base)
  25. self.assertEqual(response.status_code, 200)
  26. User = get_user_model()
  27. user_a = User.objects.create_user('Tyrael', 't123@test.com', 'pass123')
  28. user_b = User.objects.create_user('Tyrion', 't321@test.com', 'pass123')
  29. # Search both
  30. response = self.client.get(link_base + '&username_slug=tyr')
  31. self.assertEqual(response.status_code, 200)
  32. self.assertIn(user_a.username, response.content)
  33. self.assertIn(user_b.username, response.content)
  34. # Search tyrion
  35. response = self.client.get(link_base + '&username_slug=tyrion')
  36. self.assertEqual(response.status_code, 200)
  37. self.assertFalse(user_a.username in response.content)
  38. self.assertIn(user_b.username, response.content)
  39. # Search tyrael
  40. response = self.client.get(link_base + '&email=t123@test.com')
  41. self.assertEqual(response.status_code, 200)
  42. self.assertIn(user_a.username, response.content)
  43. self.assertFalse(user_b.username in response.content)