mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-02-16 00:19:32 -06:00
Unify this a bit
This commit is contained in:
@@ -80,20 +80,23 @@ class TestDocumentVersioningApi(DirectoriesMixin, APITestCase):
|
||||
|
||||
self.assertEqual(resp.status_code, status.HTTP_404_NOT_FOUND)
|
||||
|
||||
def test_root_endpoint_returns_404_when_root_document_missing(self) -> None:
|
||||
def test_root_endpoint_falls_back_when_root_document_missing(self) -> None:
|
||||
doc = Document(
|
||||
title="orphan",
|
||||
checksum="orphan",
|
||||
mime_type="application/pdf",
|
||||
)
|
||||
doc.root_document_id = 123
|
||||
doc.root_document = None
|
||||
doc.pk = 123
|
||||
doc.root_document_id = 456
|
||||
# Simulate a stale FK: id is set but related object is missing.
|
||||
doc._state.fields_cache["root_document"] = None
|
||||
|
||||
with mock.patch("documents.views.Document.global_objects") as manager:
|
||||
manager.select_related.return_value.get.return_value = doc
|
||||
resp = self.client.get("/api/documents/123/root/")
|
||||
|
||||
self.assertEqual(resp.status_code, status.HTTP_404_NOT_FOUND)
|
||||
self.assertEqual(resp.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(resp.data["root_id"], 123)
|
||||
|
||||
def test_root_endpoint_returns_403_when_user_lacks_permission(self) -> None:
|
||||
owner = User.objects.create_user(username="owner")
|
||||
|
||||
Reference in New Issue
Block a user