Browse Source

Fixed tests.

Rafał Pitoń 11 years ago
parent
commit
938058405f
2 changed files with 29 additions and 10 deletions
  1. 18 2
      misago/acl/testutils.py
  2. 11 8
      misago/users/tests/test_moderation_views.py

+ 18 - 2
misago/acl/testutils.py

@@ -1,4 +1,11 @@
+from hashlib import md5
+from time import time
+
+from misago.core import threadstore
+from misago.core.cache import cache
+
 from misago.acl.forms import get_permissions_forms
+from misago.acl.models import Role
 
 
 def fake_post_data(target, data_dict):
@@ -19,5 +26,14 @@ def fake_post_data(target, data_dict):
 
 
 def override_acl(user, new_acl):
-    user.acl
-    user._acl_cache.update(new_acl)
+    """overrides user permissions with specified ones"""
+    test_role = Role(name='Fake')
+    test_role.permissions = new_acl
+    test_role.save()
+
+    user.rank.roles.clear()
+
+    user.roles.clear()
+    user.roles.add(test_role)
+    user.acl_key = md5(unicode(time())).hexdigesT()
+    user.save()

+ 11 - 8
misago/users/tests/test_moderation_views.py

@@ -15,9 +15,11 @@ class UserModerationTestCase(AdminTestCase):
 class DeleteUserTests(UserModerationTestCase):
     def test_no_delete_permission(self):
         """user with no permission fails to delete other user"""
-        override_acl(self.test_user, {
-            'can_delete_users_newer_than': 0,
-            'can_delete_users_with_less_posts_than': 0,
+        override_acl(self.test_admin, {
+            'misago.users.permissions.delete': {
+                'can_delete_users_newer_than': 0,
+                'can_delete_users_with_less_posts_than': 0,
+            },
         })
 
         response = self.client.post(reverse('misago:delete_user', kwargs={
@@ -25,19 +27,20 @@ class DeleteUserTests(UserModerationTestCase):
                                             }))
 
         self.assertEqual(response.status_code, 403)
-        self.assertIn("delete users.", response.content)
+        self.assertIn("You can't delete users.", response.content)
 
     def test_delete_user(self):
         """user with permission deletes other user"""
-        override_acl(self.test_user, {
-            'can_delete_users_newer_than': 2,
-            'can_delete_users_with_less_posts_than': 2,
+        override_acl(self.test_admin, {
+            'misago.users.permissions.delete': {
+                'can_delete_users_newer_than': 5,
+                'can_delete_users_with_less_posts_than': 5,
+            }
         })
 
         response = self.client.post(reverse('misago:delete_user', kwargs={
                                                 'user_id': self.test_user.pk
                                             }))
-
         self.assertEqual(response.status_code, 302)
 
         response = self.client.post(reverse('misago:index'))