|
@@ -53,6 +53,58 @@ class RenameUserTests(UserModerationTestCase):
|
|
self.assertIn('Bob's username has been changed.', response.content)
|
|
self.assertIn('Bob's username has been changed.', response.content)
|
|
|
|
|
|
|
|
|
|
|
|
+class ModerateAvatarTests(UserModerationTestCase):
|
|
|
|
+ def test_no_rename_permission(self):
|
|
|
|
+ """user with no permission fails to mod other user avatar"""
|
|
|
|
+ override_acl(self.test_admin, {
|
|
|
|
+ 'misago.users.permissions.moderation': {
|
|
|
|
+ 'can_moderate_avatars': 0,
|
|
|
|
+ },
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ response = self.client.get(
|
|
|
|
+ reverse('misago:moderate_avatar', kwargs=self.link_kwargs))
|
|
|
|
+
|
|
|
|
+ self.assertEqual(response.status_code, 403)
|
|
|
|
+ self.assertIn("You can't moderate avatars.", response.content)
|
|
|
|
+
|
|
|
|
+ def test_rename_user(self):
|
|
|
|
+ """user with permission moderates other user avatar"""
|
|
|
|
+ override_acl(self.test_admin, {
|
|
|
|
+ 'misago.users.permissions.moderation': {
|
|
|
|
+ 'can_moderate_avatars': 1,
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ response = self.client.get(
|
|
|
|
+ reverse('misago:moderate_avatar', kwargs=self.link_kwargs))
|
|
|
|
+ self.assertEqual(response.status_code, 200)
|
|
|
|
+
|
|
|
|
+ response = self.client.post(
|
|
|
|
+ reverse('misago:moderate_avatar', kwargs=self.link_kwargs),
|
|
|
|
+ data={
|
|
|
|
+ 'is_avatar_banned': '1',
|
|
|
|
+ 'avatar_ban_user_message': 'Test us3r message',
|
|
|
|
+ 'avatar_ban_staff_message': 'Test st4ff message'
|
|
|
|
+ })
|
|
|
|
+ self.assertEqual(response.status_code, 302)
|
|
|
|
+
|
|
|
|
+ User = get_user_model()
|
|
|
|
+ updated_user = User.objects.get(id=self.test_user.pk)
|
|
|
|
+
|
|
|
|
+ self.assertTrue(updated_user.is_avatar_banned)
|
|
|
|
+ self.assertEqual(updated_user.avatar_ban_user_message,
|
|
|
|
+ 'Test us3r message')
|
|
|
|
+ self.assertEqual(updated_user.avatar_ban_staff_message,
|
|
|
|
+ 'Test st4ff message')
|
|
|
|
+
|
|
|
|
+ response = self.client.get(
|
|
|
|
+ reverse('misago:moderate_avatar', kwargs=self.link_kwargs))
|
|
|
|
+ self.assertEqual(response.status_code, 200)
|
|
|
|
+ self.assertIn('Test us3r message', response.content)
|
|
|
|
+ self.assertIn('Test st4ff message', response.content)
|
|
|
|
+
|
|
|
|
+
|
|
class ModerateSignatureTests(UserModerationTestCase):
|
|
class ModerateSignatureTests(UserModerationTestCase):
|
|
def test_no_rename_permission(self):
|
|
def test_no_rename_permission(self):
|
|
"""user with no permission fails to mod other user signature"""
|
|
"""user with no permission fails to mod other user signature"""
|
|
@@ -69,7 +121,7 @@ class ModerateSignatureTests(UserModerationTestCase):
|
|
self.assertIn("You can't moderate signatures.", response.content)
|
|
self.assertIn("You can't moderate signatures.", response.content)
|
|
|
|
|
|
def test_rename_user(self):
|
|
def test_rename_user(self):
|
|
- """user with permission renames other user"""
|
|
|
|
|
|
+ """user with permission moderates other user signature"""
|
|
override_acl(self.test_admin, {
|
|
override_acl(self.test_admin, {
|
|
'misago.users.permissions.moderation': {
|
|
'misago.users.permissions.moderation': {
|
|
'can_moderate_signatures': 1,
|
|
'can_moderate_signatures': 1,
|