/** * @param ProductSearchCriteria $criteria * * @return $this */ public function fetchProductSearch(ProductSearchCriteria $criteria) { $this->checkBasketId($criteria->getSessionId()); $this->query[] = array('product_search' => $criteria->toArray()); return $this; }
public function testFilterByProductFacets() { $criteria = ProductSearchCriteria::create('12345')->filterByProductFacetIds(array(0 => array(264))); $this->assertEquals('{"session_id":"12345","filter":{"product_facets":{"0":[264]}}}', json_encode($criteria->toArray())); $criteria->filterByProductFacetIds(array(443 => array(18405))); $this->assertEquals('{"session_id":"12345","filter":{"product_facets":{"443":[18405]}}}', json_encode($criteria->toArray())); $criteria->filterByProductFacetIds(array(443 => array(18406)), true); $this->assertEquals('{"session_id":"12345","filter":{"product_facets":{"443":[18405,18406]}}}', json_encode($criteria->toArray())); $criteria->filterByProductFacetIds(array(0 => array(264)), true); $this->assertEquals('{"session_id":"12345","filter":{"product_facets":{"443":[18405,18406],"0":[264]}}}', json_encode($criteria->toArray())); $criteria->filterByProductFacetIds(array(0 => array(789, 123)), true); $criteria->filterByProductFacetIds(array(0 => array(789)), true); $this->assertEquals('{"session_id":"12345","filter":{"product_facets":{"443":[18405,18406],"0":[264,789,123]}}}', json_encode($criteria->toArray())); }