/** * @test */ public function it_can_handle_a_search_facet() { $names = ['facet1', 'facet2']; $values = ['value1', 'value2']; $this->query->withFacet($names[0], $values[0]); $this->query->withFacet($names[1], $values[1]); $this->assertEquals($this->expectedResult(['facetFilters' => ",{$names[0]}:{$values[0]},{$names[1]}:{$values[1]}"]), $this->query->toArray()); }
/** * @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()); }