Browse Source

Add explicit json comparisions to postlikes api tests

Rafał Pitoń 7 years ago
parent
commit
f392ea2138
1 changed files with 37 additions and 31 deletions
  1. 37 31
      misago/threads/tests/test_thread_postlikes_api.py

+ 37 - 31
misago/threads/tests/test_thread_postlikes_api.py

@@ -1,7 +1,7 @@
 from django.urls import reverse
 from django.urls import reverse
 
 
+from misago.core.utils import serialize_datetime
 from misago.threads import testutils
 from misago.threads import testutils
-from misago.threads.serializers import PostLikeSerializer
 
 
 from .test_threads_api import ThreadsApiTestCase
 from .test_threads_api import ThreadsApiTestCase
 
 
@@ -25,14 +25,20 @@ class ThreadPostLikesApiTestCase(ThreadsApiTestCase):
         self.override_acl({'can_see_posts_likes': 0})
         self.override_acl({'can_see_posts_likes': 0})
 
 
         response = self.client.get(self.api_link)
         response = self.client.get(self.api_link)
-        self.assertContains(response, "You can't see who liked this post.", status_code=403)
+        self.assertEqual(response.status_code, 403)
+        self.assertEqual(response.json(), {
+            'detail': "You can't see who liked this post.",
+        })
 
 
     def test_no_permission_to_list(self):
     def test_no_permission_to_list(self):
         """api errors if user has no permission to see likes, but can see likes count"""
         """api errors if user has no permission to see likes, but can see likes count"""
         self.override_acl({'can_see_posts_likes': 1})
         self.override_acl({'can_see_posts_likes': 1})
 
 
         response = self.client.get(self.api_link)
         response = self.client.get(self.api_link)
-        self.assertContains(response, "You can't see who liked this post.", status_code=403)
+        self.assertEqual(response.status_code, 403)
+        self.assertEqual(response.json(), {
+            'detail': "You can't see who liked this post.",
+        })
 
 
     def test_no_likes(self):
     def test_no_likes(self):
         """api returns empty list if post has no likes"""
         """api returns empty list if post has no likes"""
@@ -49,22 +55,22 @@ class ThreadPostLikesApiTestCase(ThreadsApiTestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
         self.assertEqual(
         self.assertEqual(
             response.json(), [
             response.json(), [
-                PostLikeSerializer({
+                {
                     'id': other_like.id,
                     'id': other_like.id,
-                    'liked_on': other_like.liked_on,
-                    'liker_id': other_like.liker_id,
-                    'liker_name': other_like.liker_name,
-                    'liker_slug': other_like.liker_slug,
-                    'liker__avatars': self.user.avatars,
-                }).data,
-                PostLikeSerializer({
+                    'liked_on': serialize_datetime(other_like.liked_on),
+                    'liker_id': self.user.id,
+                    'username': self.user.username,
+                    'avatars': self.user.avatars,
+                    'url': self.user.get_absolute_url(),
+                },
+                {
                     'id': like.id,
                     'id': like.id,
-                    'liked_on': like.liked_on,
-                    'liker_id': like.liker_id,
-                    'liker_name': like.liker_name,
-                    'liker_slug': like.liker_slug,
-                    'liker__avatars': self.user.avatars,
-                }).data,
+                    'liked_on': serialize_datetime(like.liked_on),
+                    'liker_id': self.user.id,
+                    'username': self.user.username,
+                    'avatars': self.user.avatars,
+                    'url': self.user.get_absolute_url(),
+                },
             ]
             ]
         )
         )
 
 
@@ -79,21 +85,21 @@ class ThreadPostLikesApiTestCase(ThreadsApiTestCase):
         self.assertEqual(response.status_code, 200)
         self.assertEqual(response.status_code, 200)
         self.assertEqual(
         self.assertEqual(
             response.json(), [
             response.json(), [
-                PostLikeSerializer({
+                {
                     'id': other_like.id,
                     'id': other_like.id,
-                    'liked_on': other_like.liked_on,
-                    'liker_id': other_like.liker_id,
-                    'liker_name': other_like.liker_name,
-                    'liker_slug': other_like.liker_slug,
-                    'liker__avatars': None,
-                }).data,
-                PostLikeSerializer({
+                    'liked_on': serialize_datetime(other_like.liked_on),
+                    'liker_id': None,
+                    'username': self.user.username,
+                    'avatars': None,
+                    'url': None,
+                },
+                {
                     'id': like.id,
                     'id': like.id,
-                    'liked_on': like.liked_on,
-                    'liker_id': like.liker_id,
-                    'liker_name': like.liker_name,
-                    'liker_slug': like.liker_slug,
-                    'liker__avatars': None,
-                }).data,
+                    'liked_on': serialize_datetime(like.liked_on),
+                    'liker_id': None,
+                    'username': self.user.username,
+                    'avatars': None,
+                    'url': None,
+                },
             ]
             ]
         )
         )