From 8a0330a30fea7d207cdcff4d43bac1f85a887d2d Mon Sep 17 00:00:00 2001 From: Paul Vernin Date: Wed, 18 Mar 2026 21:40:08 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9C=85(backend)=20add=20favorite=20list=20te?= =?UTF-8?q?st=20for=20sub-doc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add test_api_document_favorite_list_with_deleted_child to verify favorite_list endpoint does not include deleted sub documents Signed-off-by: Paul Vernin --- .../test_api_documents_favorite_list.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/backend/core/tests/documents/test_api_documents_favorite_list.py b/src/backend/core/tests/documents/test_api_documents_favorite_list.py index d5bfe3c1..74b5d928 100644 --- a/src/backend/core/tests/documents/test_api_documents_favorite_list.py +++ b/src/backend/core/tests/documents/test_api_documents_favorite_list.py @@ -114,3 +114,28 @@ def test_api_document_favorite_list_with_favorite_children(): assert content[0]["id"] == str(children[0].id) assert content[1]["id"] == str(children[1].id) assert content[2]["id"] == str(access.document.id) + +def test_api_document_favorite_list_with_deleted_child(): + """ + Authenticated users should not see deleted documents in their favorite list. + """ + user = factories.UserFactory() + client = APIClient() + client.force_login(user) + + root = factories.DocumentFactory(creator=user, users=[user], favorited_by=[user]) + child1, child2 = factories.DocumentFactory.create_batch( + 2, parent=root, favorited_by=[user] + ) + + child1.delete() + + response = client.get("/api/v1.0/documents/favorite_list/") + + assert response.status_code == 200 + assert response.json()["count"] == 2 + + content = response.json()["results"] + + assert content[0]["id"] == str(root.id) + assert content[1]["id"] == str(child2.id) \ No newline at end of file