test_rankadmin_views.py 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. from django.core.urlresolvers import reverse
  2. from misago.admin.testutils import AdminTestCase
  3. from misago.users.models import Rank
  4. class RankAdminViewsTests(AdminTestCase):
  5. def test_link_registered(self):
  6. """admin nav contains ranks link"""
  7. response = self.client.get(
  8. reverse('misago:admin:users:accounts:index'))
  9. self.assertIn(reverse('misago:admin:users:ranks:index'),
  10. response.content)
  11. def test_list_view(self):
  12. """ranks list view returns 200"""
  13. response = self.client.get(
  14. reverse('misago:admin:users:ranks:index'))
  15. self.assertEqual(response.status_code, 200)
  16. self.assertIn('Team', response.content)
  17. def test_new_view(self):
  18. """new rank view has no showstoppers"""
  19. response = self.client.get(
  20. reverse('misago:admin:users:ranks:new'))
  21. self.assertEqual(response.status_code, 200)
  22. response = self.client.post(
  23. reverse('misago:admin:users:ranks:new'),
  24. data={
  25. 'name': 'Test Rank',
  26. 'description': 'Lorem ipsum dolor met',
  27. 'title': 'Test Title',
  28. 'style': 'test',
  29. 'is_tab': '1',
  30. })
  31. self.assertEqual(response.status_code, 302)
  32. response = self.client.get(
  33. reverse('misago:admin:users:ranks:index'))
  34. self.assertEqual(response.status_code, 200)
  35. self.assertIn('Test Rank', response.content)
  36. self.assertIn('Test Title', response.content)
  37. def test_edit_view(self):
  38. """edit rank view has no showstoppers"""
  39. self.client.post(
  40. reverse('misago:admin:users:ranks:new'),
  41. data={
  42. 'name': 'Test Rank',
  43. 'description': 'Lorem ipsum dolor met',
  44. 'title': 'Test Title',
  45. 'style': 'test',
  46. 'is_tab': '1',
  47. })
  48. test_rank = Rank.objects.get(slug='test-rank')
  49. response = self.client.get(
  50. reverse('misago:admin:users:ranks:edit',
  51. kwargs={'rank_id': test_rank.pk}))
  52. self.assertEqual(response.status_code, 200)
  53. self.assertIn('Test Rank', response.content)
  54. self.assertIn('Test Title', response.content)
  55. response = self.client.post(
  56. reverse('misago:admin:users:ranks:edit',
  57. kwargs={'rank_id': test_rank.pk}),
  58. data={'name': 'Top Lel'})
  59. self.assertEqual(response.status_code, 302)
  60. response = self.client.get(
  61. reverse('misago:admin:users:ranks:index'))
  62. self.assertEqual(response.status_code, 200)
  63. self.assertIn('Top Lel', response.content)
  64. def test_default_view(self):
  65. """default rank view has no showstoppers"""
  66. self.client.post(
  67. reverse('misago:admin:users:ranks:new'),
  68. data={
  69. 'name': 'Test Rank',
  70. 'description': 'Lorem ipsum dolor met',
  71. 'title': 'Test Title',
  72. 'style': 'test',
  73. 'is_tab': '1',
  74. })
  75. test_rank = Rank.objects.get(slug='test-rank')
  76. response = self.client.post(
  77. reverse('misago:admin:users:ranks:default',
  78. kwargs={'rank_id': test_rank.pk}))
  79. self.assertEqual(response.status_code, 302)
  80. test_rank = Rank.objects.get(slug='test-rank')
  81. self.assertTrue(test_rank.is_default)
  82. def test_move_up_view(self):
  83. """move rank up view has no showstoppers"""
  84. self.client.post(
  85. reverse('misago:admin:users:ranks:new'),
  86. data={
  87. 'name': 'Test Rank',
  88. 'description': 'Lorem ipsum dolor met',
  89. 'title': 'Test Title',
  90. 'style': 'test',
  91. 'is_tab': '1',
  92. })
  93. test_rank = Rank.objects.get(slug='test-rank')
  94. response = self.client.post(
  95. reverse('misago:admin:users:ranks:up',
  96. kwargs={'rank_id': test_rank.pk}))
  97. self.assertEqual(response.status_code, 302)
  98. changed_rank = Rank.objects.get(slug='test-rank')
  99. self.assertEqual(changed_rank.order + 1, test_rank.order)
  100. def test_move_down_view(self):
  101. """move rank down view has no showstoppers"""
  102. self.client.post(
  103. reverse('misago:admin:users:ranks:new'),
  104. data={
  105. 'name': 'Test Rank',
  106. 'description': 'Lorem ipsum dolor met',
  107. 'title': 'Test Title',
  108. 'style': 'test',
  109. 'is_tab': '1',
  110. })
  111. test_rank = Rank.objects.get(slug='test-rank')
  112. # Move rank up
  113. response = self.client.post(
  114. reverse('misago:admin:users:ranks:up',
  115. kwargs={'rank_id': test_rank.pk}))
  116. response = self.client.post(
  117. reverse('misago:admin:users:ranks:down',
  118. kwargs={'rank_id': test_rank.pk}))
  119. self.assertEqual(response.status_code, 302)
  120. # Test move down
  121. changed_rank = Rank.objects.get(slug='test-rank')
  122. self.assertEqual(changed_rank.order, test_rank.order)
  123. def test_delete_view(self):
  124. """delete rank view has no showstoppers"""
  125. self.client.post(
  126. reverse('misago:admin:users:ranks:new'),
  127. data={
  128. 'name': 'Test Rank',
  129. 'description': 'Lorem ipsum dolor met',
  130. 'title': 'Test Title',
  131. 'style': 'test',
  132. 'is_tab': '1',
  133. })
  134. test_rank = Rank.objects.get(slug='test-rank')
  135. response = self.client.post(
  136. reverse('misago:admin:users:ranks:delete',
  137. kwargs={'rank_id': test_rank.pk}))
  138. self.assertEqual(response.status_code, 302)
  139. response = self.client.get(
  140. reverse('misago:admin:users:ranks:index'))
  141. self.assertEqual(response.status_code, 200)
  142. self.assertTrue('Top Lel' not in response.content)