Commit f715ddb7 authored by Bas de Nooijer's avatar Bas de Nooijer

Merge pull request #83 from shieldo/optional_params_for_facet_range

Optional params for facet range
parents 72ffa056 28fd082b
......@@ -175,14 +175,18 @@ class Solarium_Client_RequestBuilder_Select_Component_FacetSet extends Solarium_
$request->addParam("f.$field.facet.range.gap", $facet->getGap());
$request->addParam("f.$field.facet.range.hardend", $facet->getHardend());
$other = explode(',', $facet->getOther());
foreach ($other AS $otherValue) {
$request->addParam("f.$field.facet.range.other", trim($otherValue));
if (null !== $facet->getOther()) {
$other = explode(',', $facet->getOther());
foreach ($other AS $otherValue) {
$request->addParam("f.$field.facet.range.other", trim($otherValue));
}
}
$include = explode(',', $facet->getInclude());
foreach ($include AS $includeValue) {
$request->addParam("f.$field.facet.range.include", trim($includeValue));
if (null !== $facet->getOther()) {
$include = explode(',', $facet->getInclude());
foreach ($include AS $includeValue) {
$request->addParam("f.$field.facet.range.include", trim($includeValue));
}
}
}
}
\ No newline at end of file
......@@ -111,6 +111,31 @@ class Solarium_Client_RequestBuilder_Select_Component_FacetSetTest extends PHPUn
);
}
public function testBuildWithRangeFacetExcludingOptionalParams()
{
$this->_component->addFacet(new Solarium_Query_Select_Component_Facet_Range(
array(
'key' => 'f1',
'field' => 'price',
'start' => '1',
'end' => 100,
'gap' => 10,
)
));
$request = $this->_builder->buildComponent($this->_component, $this->_request);
$this->assertEquals(
null,
$request->getRawData()
);
$this->assertEquals(
'?facet=true&facet.range={!key=f1}price&f.price.facet.range.start=1&f.price.facet.range.end=100&f.price.facet.range.gap=10',
urldecode($request->getUri())
);
}
public function testBuildWithFacetsAndGlobalFacetSettings()
{
$this->_component->setMissing(true);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment