@@ -588,10 +588,48 @@ def test_services_search_indexers_search(mock_post, indexer_settings):
588588 assert query_data ["q" ] == "alpha"
589589 assert sorted (query_data ["visited" ]) == sorted ([str (doc1 .pk ), str (doc2 .pk )])
590590 assert query_data ["services" ] == ["docs" ]
591- assert query_data ["page_number" ] == 1
592- assert query_data ["page_size" ] == 50
591+ assert query_data ["nb_results" ] == 50
593592 assert query_data ["order_by" ] == "updated_at"
594593 assert query_data ["order_direction" ] == "desc"
595594
596595 assert kwargs .get ("headers" ) == {"Authorization" : "Bearer mytoken" }
597596 assert kwargs .get ("timeout" ) == 10
597+
598+
599+ @patch ("requests.post" )
600+ def test_services_search_indexers_search_nb_results (mock_post , indexer_settings ):
601+ """
602+ Find API call should have nb_results == SEARCH_INDEXER_QUERY_LIMIT
603+ or the given nb_results argument.
604+ """
605+ indexer_settings .SEARCH_INDEXER_QUERY_LIMIT = 25
606+
607+ user = factories .UserFactory ()
608+ indexer = SearchIndexer ()
609+
610+ mock_response = mock_post .return_value
611+ mock_response .raise_for_status .return_value = None # No error
612+
613+ doc1 , doc2 , _ = factories .DocumentFactory .create_batch (3 )
614+
615+ create_link = partial (models .LinkTrace .objects .create , user = user , is_masked = False )
616+
617+ create_link (document = doc1 )
618+ create_link (document = doc2 )
619+
620+ visited = get_visited_document_ids_of (models .Document .objects .all (), user )
621+
622+ indexer .search ("alpha" , visited = visited , token = "mytoken" )
623+
624+ args , kwargs = mock_post .call_args
625+
626+ assert args [0 ] == indexer_settings .SEARCH_INDEXER_QUERY_URL
627+ assert kwargs .get ("json" )["nb_results" ] == 25
628+
629+ # The argument overrides the setting value
630+ indexer .search ("alpha" , visited = visited , token = "mytoken" , nb_results = 109 )
631+
632+ args , kwargs = mock_post .call_args
633+
634+ assert args [0 ] == indexer_settings .SEARCH_INDEXER_QUERY_URL
635+ assert kwargs .get ("json" )["nb_results" ] == 109
0 commit comments