diff --git a/lms/djangoapps/discussion/rest_api/tests/test_views.py b/lms/djangoapps/discussion/rest_api/tests/test_views.py index f4d36ca8a8..c0194ddc7c 100644 --- a/lms/djangoapps/discussion/rest_api/tests/test_views.py +++ b/lms/djangoapps/discussion/rest_api/tests/test_views.py @@ -1475,7 +1475,14 @@ class LearnerThreadViewAPITest(DiscussionAPIViewTestMixin, ModuleStoreTestCase): for thread in expected_api_response: for key in ['group_id', 'abuse_flagged_count', 'closed_by', 'close_reason_code']: thread.pop(key) - assert response_data == expected_api_response + assert response_data["results"] == expected_api_response + assert response_data["pagination"] == { + "num_pages": 1, + "page": 1, + "count": 1, + "next": None, + "previous": None, + } def test_no_user_id_given(self): response = self.client.get(self.url) diff --git a/lms/djangoapps/discussion/rest_api/views.py b/lms/djangoapps/discussion/rest_api/views.py index d5770ac51e..9f44dbd9b7 100644 --- a/lms/djangoapps/discussion/rest_api/views.py +++ b/lms/djangoapps/discussion/rest_api/views.py @@ -620,7 +620,16 @@ class LearnerThreadView(APIView): is_staff = has_permission(request.user, 'openclose_thread', course_key) is_community_ta = is_user_community_ta(request.user, course_key) threads = [prepare_content(thread, course_key, is_staff, is_community_ta) for thread in threads] - return Response(threads) + return Response({ + "results": threads, + "pagination": { + "num_pages": num_pages, + "page": page, + "count": len(threads), + "next": page + 1 if page < num_pages else None, + "previous": None if page <= 1 else page - 1, + } + }) @view_auth_classes()