Fix: handle created change with api version increment, use created only on frontend, deprecate created_date (#9962)

This commit is contained in:
shamoon
2025-05-19 09:38:01 -07:00
committed by GitHub
parent fae4116504
commit 55917fcabe
13 changed files with 74 additions and 18 deletions

View File

@@ -171,6 +171,38 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
results = response.data["results"]
self.assertEqual(len(results[0]), 0)
def test_document_legacy_created_format(self):
"""
GIVEN:
- Existing document
WHEN:
- Document is requested with api version ≥ 9
- Document is requested with api version < 9
THEN:
- Document created field is returned as date
- Document created field is returned as datetime
"""
doc = Document.objects.create(
title="none",
checksum="123",
mime_type="application/pdf",
created=date(2023, 1, 1),
)
response = self.client.get(
f"/api/documents/{doc.pk}/",
headers={"Accept": "application/json; version=8"},
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertRegex(response.data["created"], r"^2023-01-01T00:00:00.*$")
response = self.client.get(
f"/api/documents/{doc.pk}/",
headers={"Accept": "application/json; version=9"},
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data["created"], "2023-01-01")
def test_document_update_with_created_date(self):
"""
GIVEN: