From 65f2df5b8540eaae4ae2d7a40474620f3b5e5c72 Mon Sep 17 00:00:00 2001 From: Madison Swain-Bowden Date: Mon, 6 Feb 2023 13:22:14 -0800 Subject: [PATCH] Add failing test --- .../controllers/test_search_controller.py | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/api/test/unit/controllers/test_search_controller.py b/api/test/unit/controllers/test_search_controller.py index bc81da56d..9ff820db1 100644 --- a/api/test/unit/controllers/test_search_controller.py +++ b/api/test/unit/controllers/test_search_controller.py @@ -463,3 +463,40 @@ def test_search_tallies_pages_less_than_5( assert len(passed_results) == number_of_results_passed else: count_provider_occurrences_mock.assert_not_called() + + +@pytest.mark.parametrize( + "index", + ( + "image", + "audio", + ), +) +@mock.patch.object( + tallies, "count_provider_occurrences", wraps=tallies.count_provider_occurrences +) +@mock.patch( + "catalog.api.controllers.search_controller._post_process_results", +) +@pytest.mark.django_db +def test_search_tallies_handles_empty_page( + mock_post_process_results, + count_provider_occurrences_mock: mock.MagicMock, + index, + request_factory, +): + mock_post_process_results.return_value = None + + serializer = MediaSearchRequestSerializer(data={"q": "dogs"}) + serializer.is_valid() + + search_controller.search( + search_params=serializer, + ip=0, + index=index, + page_size=100, # High page size to trigger potential results past 80 + request=request_factory.get("/"), + filter_dead=True, + ) + + count_provider_occurrences_mock.assert_not_called()