public function testSetFacets() { $fq1 = new Solarium_Query_Select_Component_Facet_Query(); $fq1->setKey('f1')->setQuery('category:1'); $fq2 = new Solarium_Query_Select_Component_Facet_Query(); $fq2->setKey('f2')->setQuery('category:2'); $facets = array('f1' => $fq1, 'f2' => $fq2); $this->_facetSet->addFacets($facets); $fq3 = new Solarium_Query_Select_Component_Facet_Query(); $fq3->setKey('f3')->setQuery('category:3'); $fq4 = new Solarium_Query_Select_Component_Facet_Query(); $fq4->setKey('f4')->setQuery('category:4'); $facets = array('f3' => $fq3, 'f4' => $fq4); $this->_facetSet->setFacets($facets); $this->assertEquals($facets, $this->_facetSet->getFacets()); }
/** * Create a new facetQuery * * Convenience method so you don't need to manually create facetquery * objects. * * @param string $key * @param string $query * @param array $excludes * @return Solarium_Query_Select_Component_Facet_MultiQuery Provides fluent interface */ public function createQuery($key, $query, $excludes = array()) { // merge excludes with shared excludes $excludes = array_merge($this->getExcludes(), $excludes); $facetQuery = new Solarium_Query_Select_Component_Facet_Query(); $facetQuery->setKey($key); $facetQuery->setQuery($query); $facetQuery->setExcludes($excludes); return $this->addQuery($facetQuery); }
public function testClearExcludesForwarding() { $this->_facet->addExclude('fq1'); $this->_facet->addExclude('fq2'); $facetQuery = new Solarium_Query_Select_Component_Facet_Query(); $facetQuery->setKey('k1'); $facetQuery->setQuery('category:1'); $this->_facet->addQuery($facetQuery); $this->assertEquals(array('fq1', 'fq2'), $facetQuery->getExcludes()); $this->_facet->clearExcludes(); $this->assertEquals(array(), $facetQuery->getExcludes()); }