Browse Source

Updated rank admin test harness

Rafał Pitoń 11 years ago
parent
commit
9593c881a9
1 changed files with 24 additions and 1 deletions
  1. 24 1
      misago/users/tests/test_rankadmin_views.py

+ 24 - 1
misago/users/tests/test_rankadmin_views.py

@@ -1,5 +1,6 @@
 from django.core.urlresolvers import reverse
 from django.core.urlresolvers import reverse
 from misago.admin.testutils import AdminTestCase
 from misago.admin.testutils import AdminTestCase
+from misago.acl.models import Role
 from misago.users.models import Rank
 from misago.users.models import Rank
 
 
 
 
@@ -23,6 +24,10 @@ class RankAdminViewsTests(AdminTestCase):
 
 
     def test_new_view(self):
     def test_new_view(self):
         """new rank view has no showstoppers"""
         """new rank view has no showstoppers"""
+        test_role_a = Role.objects.create(name='Test Role A')
+        test_role_b = Role.objects.create(name='Test Role B')
+        test_role_c = Role.objects.create(name='Test Role C')
+
         response = self.client.get(
         response = self.client.get(
             reverse('misago:admin:users:ranks:new'))
             reverse('misago:admin:users:ranks:new'))
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
@@ -35,6 +40,7 @@ class RankAdminViewsTests(AdminTestCase):
                 'title': 'Test Title',
                 'title': 'Test Title',
                 'style': 'test',
                 'style': 'test',
                 'is_tab': '1',
                 'is_tab': '1',
+                'roles': [test_role_a.pk, test_role_c.pk],
             })
             })
         self.assertEqual(response.status_code, 302)
         self.assertEqual(response.status_code, 302)
 
 
@@ -44,9 +50,17 @@ class RankAdminViewsTests(AdminTestCase):
         self.assertIn('Test Rank', response.content)
         self.assertIn('Test Rank', response.content)
         self.assertIn('Test Title', response.content)
         self.assertIn('Test Title', response.content)
 
 
+        test_rank = Rank.objects.get(slug='test-rank')
+        self.assertIn(test_role_a, test_rank.roles.all())
+        self.assertIn(test_role_c, test_rank.roles.all())
+        self.assertTrue(test_role_b not in test_rank.roles.all())
 
 
     def test_edit_view(self):
     def test_edit_view(self):
         """edit rank view has no showstoppers"""
         """edit rank view has no showstoppers"""
+        test_role_a = Role.objects.create(name='Test Role A')
+        test_role_b = Role.objects.create(name='Test Role B')
+        test_role_c = Role.objects.create(name='Test Role C')
+
         self.client.post(
         self.client.post(
             reverse('misago:admin:users:ranks:new'),
             reverse('misago:admin:users:ranks:new'),
             data={
             data={
@@ -55,6 +69,7 @@ class RankAdminViewsTests(AdminTestCase):
                 'title': 'Test Title',
                 'title': 'Test Title',
                 'style': 'test',
                 'style': 'test',
                 'is_tab': '1',
                 'is_tab': '1',
+                'roles': [test_role_a.pk, test_role_c.pk],
             })
             })
 
 
         test_rank = Rank.objects.get(slug='test-rank')
         test_rank = Rank.objects.get(slug='test-rank')
@@ -69,7 +84,10 @@ class RankAdminViewsTests(AdminTestCase):
         response = self.client.post(
         response = self.client.post(
             reverse('misago:admin:users:ranks:edit',
             reverse('misago:admin:users:ranks:edit',
                     kwargs={'rank_id': test_rank.pk}),
                     kwargs={'rank_id': test_rank.pk}),
-            data={'name': 'Top Lel'})
+            data={
+                'name': 'Top Lel',
+                'roles': [test_role_b.pk],
+            })
         self.assertEqual(response.status_code, 302)
         self.assertEqual(response.status_code, 302)
 
 
         response = self.client.get(
         response = self.client.get(
@@ -77,6 +95,11 @@ class RankAdminViewsTests(AdminTestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
         self.assertIn('Top Lel', response.content)
         self.assertIn('Top Lel', response.content)
 
 
+        test_rank = Rank.objects.get(slug='top-lel')
+        self.assertIn(test_role_b, test_rank.roles.all())
+        self.assertTrue(test_role_a not in test_rank.roles.all())
+        self.assertTrue(test_role_c not in test_rank.roles.all())
+
     def test_default_view(self):
     def test_default_view(self):
         """default rank view has no showstoppers"""
         """default rank view has no showstoppers"""
         self.client.post(
         self.client.post(