From 35852dff0b0a1a87e7518864263f03ea7cf9c9aa Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Tue, 2 Jul 2024 12:47:22 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F(backend)=20add=20more=20info?= =?UTF-8?q?=20to=20doc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update the serializer to include more info about the doc: - created date - updated date --- src/backend/core/api/serializers.py | 13 +++++++++++-- .../tests/documents/test_api_documents_retrieve.py | 12 ++++++++++++ .../tests/documents/test_api_documents_update.py | 8 ++++++-- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/backend/core/api/serializers.py b/src/backend/core/api/serializers.py index a855caba..069c6c24 100644 --- a/src/backend/core/api/serializers.py +++ b/src/backend/core/api/serializers.py @@ -139,8 +139,17 @@ class DocumentSerializer(BaseResourceSerializer): class Meta: model = models.Document - fields = ["id", "content", "title", "accesses", "abilities", "is_public"] - read_only_fields = ["id", "accesses", "abilities"] + fields = [ + "id", + "content", + "title", + "accesses", + "abilities", + "is_public", + "created_at", + "updated_at", + ] + read_only_fields = ["id", "accesses", "abilities", "created_at", "updated_at"] class TemplateSerializer(BaseResourceSerializer): diff --git a/src/backend/core/tests/documents/test_api_documents_retrieve.py b/src/backend/core/tests/documents/test_api_documents_retrieve.py index c852174f..95dcd1bf 100644 --- a/src/backend/core/tests/documents/test_api_documents_retrieve.py +++ b/src/backend/core/tests/documents/test_api_documents_retrieve.py @@ -33,6 +33,8 @@ def test_api_documents_retrieve_anonymous_public(): "title": document.title, "is_public": True, "content": document.content, + "created_at": document.created_at.isoformat().replace("+00:00", "Z"), + "updated_at": document.updated_at.isoformat().replace("+00:00", "Z"), } @@ -78,6 +80,8 @@ def test_api_documents_retrieve_authenticated_unrelated_public(): "title": document.title, "is_public": True, "content": document.content, + "created_at": document.created_at.isoformat().replace("+00:00", "Z"), + "updated_at": document.updated_at.isoformat().replace("+00:00", "Z"), } @@ -146,6 +150,8 @@ def test_api_documents_retrieve_authenticated_related_direct(): "content": document.content, "abilities": document.get_abilities(user), "is_public": document.is_public, + "created_at": document.created_at.isoformat().replace("+00:00", "Z"), + "updated_at": document.updated_at.isoformat().replace("+00:00", "Z"), } @@ -277,6 +283,8 @@ def test_api_documents_retrieve_authenticated_related_team_members( "content": document.content, "abilities": document.get_abilities(user), "is_public": False, + "created_at": document.created_at.isoformat().replace("+00:00", "Z"), + "updated_at": document.updated_at.isoformat().replace("+00:00", "Z"), } @@ -394,6 +402,8 @@ def test_api_documents_retrieve_authenticated_related_team_administrators( "content": document.content, "abilities": document.get_abilities(user), "is_public": False, + "created_at": document.created_at.isoformat().replace("+00:00", "Z"), + "updated_at": document.updated_at.isoformat().replace("+00:00", "Z"), } @@ -515,4 +525,6 @@ def test_api_documents_retrieve_authenticated_related_team_owners( "content": document.content, "abilities": document.get_abilities(user), "is_public": False, + "created_at": document.created_at.isoformat().replace("+00:00", "Z"), + "updated_at": document.updated_at.isoformat().replace("+00:00", "Z"), } diff --git a/src/backend/core/tests/documents/test_api_documents_update.py b/src/backend/core/tests/documents/test_api_documents_update.py index 9fc5414a..da9b5f0e 100644 --- a/src/backend/core/tests/documents/test_api_documents_update.py +++ b/src/backend/core/tests/documents/test_api_documents_update.py @@ -141,8 +141,10 @@ def test_api_documents_update_authenticated_editor_administrator_or_owner( document = models.Document.objects.get(pk=document.pk) document_values = serializers.DocumentSerializer(instance=document).data for key, value in document_values.items(): - if key in ["id", "accesses"]: + if key in ["id", "accesses", "created_at"]: assert value == old_document_values[key] + elif key == "updated_at": + assert value > old_document_values[key] else: assert value == new_document_values[key] @@ -178,8 +180,10 @@ def test_api_documents_update_authenticated_owners(via, mock_user_get_teams): document = models.Document.objects.get(pk=document.pk) document_values = serializers.DocumentSerializer(instance=document).data for key, value in document_values.items(): - if key in ["id", "accesses"]: + if key in ["id", "accesses", "created_at"]: assert value == old_document_values[key] + elif key == "updated_at": + assert value > old_document_values[key] else: assert value == new_document_values[key]