test_roleadmin_views.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. from django.core.urlresolvers import reverse
  2. from misago.admin.testutils import AdminTestCase
  3. from misago.acl.models import Role
  4. class RoleAdminViewsTests(AdminTestCase):
  5. def test_link_registered(self):
  6. """admin nav contains user roles link"""
  7. response = self.client.get(
  8. reverse('misago:admin:permissions:users:index'))
  9. self.assertIn(reverse('misago:admin:permissions:users:index'),
  10. response.content)
  11. def test_list_view(self):
  12. """roles list view returns 200"""
  13. response = self.client.get(
  14. reverse('misago:admin:permissions:users:index'))
  15. self.assertEqual(response.status_code, 200)
  16. def test_new_view(self):
  17. """new role view has no showstoppers"""
  18. response = self.client.get(
  19. reverse('misago:admin:permissions:users:new'))
  20. self.assertEqual(response.status_code, 200)
  21. response = self.client.post(
  22. reverse('misago:admin:permissions:users:new'),
  23. data={
  24. 'name': 'Test Role',
  25. })
  26. self.assertEqual(response.status_code, 302)
  27. test_role = Role.objects.get(name='Test Role')
  28. response = self.client.get(
  29. reverse('misago:admin:permissions:users:index'))
  30. self.assertEqual(response.status_code, 200)
  31. self.assertIn(test_role.name, response.content)
  32. def test_edit_view(self):
  33. """edit role view has no showstoppers"""
  34. self.client.post(
  35. reverse('misago:admin:permissions:users:new'),
  36. data={
  37. 'name': 'Test Role',
  38. })
  39. test_role = Role.objects.get(name='Test Role')
  40. response = self.client.get(
  41. reverse('misago:admin:permissions:users:edit',
  42. kwargs={'role_id': test_role.pk}))
  43. self.assertEqual(response.status_code, 200)
  44. self.assertIn('Test Role', response.content)
  45. response = self.client.post(
  46. reverse('misago:admin:permissions:users:edit',
  47. kwargs={'role_id': test_role.pk}),
  48. data={'name': 'Top Lel'})
  49. self.assertEqual(response.status_code, 302)
  50. test_role = Role.objects.get(name='Top Lel')
  51. response = self.client.get(
  52. reverse('misago:admin:permissions:users:index'))
  53. self.assertEqual(response.status_code, 200)
  54. self.assertIn(test_role.name, response.content)
  55. def test_delete_view(self):
  56. """delete role view has no showstoppers"""
  57. self.client.post(
  58. reverse('misago:admin:permissions:users:new'),
  59. data={
  60. 'name': 'Test Role',
  61. })
  62. test_role = Role.objects.get(name='Test Role')
  63. response = self.client.post(
  64. reverse('misago:admin:permissions:users:delete',
  65. kwargs={'role_id': test_role.pk}))
  66. self.assertEqual(response.status_code, 302)
  67. self.client.get(reverse('misago:admin:permissions:users:index'))
  68. response = self.client.get(
  69. reverse('misago:admin:permissions:users:index'))
  70. self.assertEqual(response.status_code, 200)
  71. self.assertTrue(test_role.name not in response.content)