diff --git a/src/documents/tests/test_api_objects.py b/src/documents/tests/test_api_objects.py index 65f379261..fdde2e367 100644 --- a/src/documents/tests/test_api_objects.py +++ b/src/documents/tests/test_api_objects.py @@ -1,8 +1,10 @@ +import datetime import json from unittest import mock from django.contrib.auth.models import Permission from django.contrib.auth.models import User +from django.utils import timezone from rest_framework import status from rest_framework.test import APITestCase @@ -89,6 +91,46 @@ class TestApiObjects(DirectoriesMixin, APITestCase): results = response.data["results"] self.assertEqual(len(results), 2) + def test_correspondent_last_correspondence(self): + """ + GIVEN: + - Correspondent with documents + WHEN: + - API is called + THEN: + - Last correspondence date is returned only if requested + """ + + Document.objects.create( + mime_type="application/pdf", + correspondent=self.c1, + created=timezone.make_aware(datetime.datetime(2022, 1, 1)), + checksum="123", + ) + Document.objects.create( + mime_type="application/pdf", + correspondent=self.c1, + created=timezone.make_aware(datetime.datetime(2022, 1, 2)), + checksum="456", + ) + + response = self.client.get( + "/api/correspondents/", + ) + self.assertEqual(response.status_code, status.HTTP_200_OK) + results = response.data["results"] + self.assertNotIn("last_correspondence", results[0]) + + response = self.client.get( + "/api/correspondents/?last_correspondence=true", + ) + self.assertEqual(response.status_code, status.HTTP_200_OK) + results = response.data["results"] + self.assertIn( + "2022-01-02", + results[0]["last_correspondence"], + ) + class TestApiStoragePaths(DirectoriesMixin, APITestCase): ENDPOINT = "/api/storage_paths/"