From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 11 May 2023 17:05:51 +0000 (-0700) Subject: Merge pull request #3309 from paperless-ngx/feature-owner-filtering X-Git-Tag: v1.14.5~1^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09086e574df6f598358898e9be62050d91fe932b;p=thirdparty%2Fpaperless-ngx.git Merge pull request #3309 from paperless-ngx/feature-owner-filtering Feature: owner filtering --- 09086e574df6f598358898e9be62050d91fe932b diff --cc src/documents/tests/test_api.py index fbb0b5eb5d,d092eb8d71..24f44b62a3 --- a/src/documents/tests/test_api.py +++ b/src/documents/tests/test_api.py @@@ -1251,32 -1367,15 +1371,40 @@@ class TestDocumentApi(DirectoriesMixin search_query("&ordering=-num_notes"), [d1.id, d3.id, d2.id], ) + self.assertListEqual( + search_query("&ordering=owner"), + [d1.id, d2.id, d3.id], + ) + self.assertListEqual( + search_query("&ordering=-owner"), + [d3.id, d2.id, d1.id], + ) + def test_pagination_all(self): + """ + GIVEN: + - A set of 50 documents + WHEN: + - API reuqest for document filtering + THEN: + - Results are paginated (25 items) and response["all"] returns all ids (50 items) + """ + t = Tag.objects.create(name="tag") + docs = [] + for i in range(50): + d = Document.objects.create(checksum=i, content=f"test{i}") + d.tags.add(t) + docs.append(d) + + response = self.client.get( + f"/api/documents/?tags__id__in={t.id}", + ) + self.assertEqual(response.status_code, status.HTTP_200_OK) + results = response.data["results"] + self.assertEqual(len(results), 25) + self.assertEqual(len(response.data["all"]), 50) + self.assertCountEqual(response.data["all"], [d.id for d in docs]) + def test_statistics(self): doc1 = Document.objects.create( title="none1",