From 86f3f3ea266359bf4e54c05f61790dbb427e282f Mon Sep 17 00:00:00 2001 From: Trenton Holmes <797416+stumpylog@users.noreply.github.com> Date: Tue, 18 Aug 2026 13:55:10 -0700 Subject: [PATCH] test(api): dedupe the four archive-metadata search tests via a helper test_search_by_asn/page_count/original_filename/checksum were all create-doc -> index -> GET -> assert 200 and doc.id in results, repeated verbatim four times. Extract _assert_query_finds() so each test states only its distinguishing field and query. --- src/documents/tests/test_api_search.py | 41 +++++++------------------- 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/src/documents/tests/test_api_search.py b/src/documents/tests/test_api_search.py index bc4b6d374..ea63cc230 100644 --- a/src/documents/tests/test_api_search.py +++ b/src/documents/tests/test_api_search.py @@ -2053,6 +2053,13 @@ class TestDocumentSearchApi(DirectoriesMixin, APITestCase): response = self.client.get("/api/search/?query=no") self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + def _assert_query_finds(self, doc: Document, query: str) -> None: + get_backend().add_or_update(doc) + response = self.client.get("/api/documents/", {"query": query}) + self.assertEqual(response.status_code, status.HTTP_200_OK) + ids = [r["id"] for r in response.data["results"]] + self.assertIn(doc.id, ids) + def test_search_by_asn(self) -> None: doc = Document.objects.create( title="Has ASN", @@ -2060,12 +2067,7 @@ class TestDocumentSearchApi(DirectoriesMixin, APITestCase): checksum="asn-checksum", archive_serial_number=555, ) - backend = get_backend() - backend.add_or_update(doc) - response = self.client.get("/api/documents/", {"query": "asn:555"}) - self.assertEqual(response.status_code, status.HTTP_200_OK) - ids = [r["id"] for r in response.data["results"]] - self.assertIn(doc.id, ids) + self._assert_query_finds(doc, "asn:555") def test_search_by_page_count(self) -> None: doc = Document.objects.create( @@ -2074,12 +2076,7 @@ class TestDocumentSearchApi(DirectoriesMixin, APITestCase): checksum="page-count-checksum", page_count=42, ) - backend = get_backend() - backend.add_or_update(doc) - response = self.client.get("/api/documents/", {"query": "page_count:42"}) - self.assertEqual(response.status_code, status.HTTP_200_OK) - ids = [r["id"] for r in response.data["results"]] - self.assertIn(doc.id, ids) + self._assert_query_finds(doc, "page_count:42") def test_search_by_original_filename(self) -> None: doc = Document.objects.create( @@ -2088,15 +2085,7 @@ class TestDocumentSearchApi(DirectoriesMixin, APITestCase): checksum="filename-checksum", original_filename="quarterly-report.pdf", ) - backend = get_backend() - backend.add_or_update(doc) - response = self.client.get( - "/api/documents/", - {"query": "original_filename:quarterly-report.pdf"}, - ) - self.assertEqual(response.status_code, status.HTTP_200_OK) - ids = [r["id"] for r in response.data["results"]] - self.assertIn(doc.id, ids) + self._assert_query_finds(doc, "original_filename:quarterly-report.pdf") def test_search_by_checksum(self) -> None: doc = Document.objects.create( @@ -2104,12 +2093,4 @@ class TestDocumentSearchApi(DirectoriesMixin, APITestCase): content="content", checksum="deadbeef1234", ) - backend = get_backend() - backend.add_or_update(doc) - response = self.client.get( - "/api/documents/", - {"query": "checksum:deadbeef1234"}, - ) - self.assertEqual(response.status_code, status.HTTP_200_OK) - ids = [r["id"] for r in response.data["results"]] - self.assertIn(doc.id, ids) + self._assert_query_finds(doc, "checksum:deadbeef1234")