diff --git a/apps/logs/tests/test_units/test_logs.py b/apps/logs/tests/test_units/test_logs.py index 586b44c669efc46fdedb018b59d844e14dce28c4..925aa85eba685025a6fb68fd758cced7ebb0bc25 100644 --- a/apps/logs/tests/test_units/test_logs.py +++ b/apps/logs/tests/test_units/test_logs.py @@ -26,6 +26,10 @@ class ActivityLogViewTest(APITestCase): another_user = UserFactory(username="user_2", password="justpass") another_account = AccountFactory(admin=False, user=another_user) + admin_user = UserFactory(username="admin_user_1", password="justpass") + self.admin_account = AccountFactory(admin=True, user=admin_user) + self.admin_token, _ = Token.objects.get_or_create(user=admin_user) + case_subject = CaseSubjectFactory() self.case = InvestigationCaseFactory( author=self.account, case_subject_id=case_subject.subject_id, @@ -81,6 +85,16 @@ class ActivityLogViewTest(APITestCase): self.assertJSONEqual(json.dumps(response.data), data) + def test_admin_account_get_all_logs(self): + url = "/logs/" + + self.client = APIClient(HTTP_AUTHORIZATION=HEADER_PREFIX + self.admin_token.key) + response = self.client.get(url) + + self.assertEqual(response.status_code, status.HTTP_200_OK) + response_string = response.rendered_content.decode("utf-8") + self.assertIn('"count":2', response_string) + def test_list_logs_paginate_failed(self): url = "/logs/?page=100" response = self.client.get(url) diff --git a/apps/logs/views.py b/apps/logs/views.py index ec5390440cc7fafabb7535bc697b8bd60bb11848..d8229250cedc34d8a9d0ed41081377d48fcc8a6c 100644 --- a/apps/logs/views.py +++ b/apps/logs/views.py @@ -20,6 +20,10 @@ class LogViewSet(viewsets.ViewSet): def list(self, request): paginator = PageNumberPagination() queryset = self.queryset.filter(author=request.user.account) + + if request.user.account.is_admin: + queryset = Log.objects.all() + context = paginator.paginate_queryset(queryset, request) serializer = LogSummarySerializer(context, many=True) return paginator.get_paginated_response(serializer.data)