public function it_can_get_search_results_using_a_search_object(\AlgoliaSearch\Index $index) { $searchQuery = new SearchQuery(); $searchQuery->searchFor('my query'); $index->search('my query', ["numericFilters" => "", "facetFilters" => "", "hitsPerPage" => 10000])->shouldBeCalled(); $this->getResults($searchQuery); }
/** * @test */ public function it_allows_method_chaining_for_multiple_filters() { $facetFilter = ['name', 'value']; $numericFilterName = 'myFilter'; $numericFilterValues = [1, 2, 3]; $logicalOperator = SearchQuery::LOGICAL_OPERATOR_OR; $dateFieldName = 'myDate'; $operation = '>'; $date = new DateTime(); $this->query->withFacet('name', 'value')->withDateRestriction($dateFieldName, $operation, $date)->withNumericFilter($numericFilterName, $numericFilterValues, $logicalOperator); $this->assertEquals($this->expectedResult(['facetFilters' => ",{$facetFilter[0]}:{$facetFilter[1]}", 'numericFilters' => ",{$dateFieldName}{$operation}{$date->getTimestamp()},({$numericFilterName}={$numericFilterValues[0]},{$numericFilterName}={$numericFilterValues[1]},{$numericFilterName}={$numericFilterValues[2]})"]), $this->query->toArray()); }
/** * @test */ public function it_allows_hits_per_page_to_be_set() { $hitsPerPage = 12345; $this->query->setHitsPerPage($hitsPerPage); $this->assertEquals($this->expectedResult(['hitsPerPage' => $hitsPerPage]), $this->query->toArray()); }