/** * Check if aggregation returns the expected array. */ public function testToArray() { $sorts = new Sorts(); $aggregation = new TopHitsAggregation('test', 0, 1); $expectedAgg = new \stdClass(); $expectedAgg->size = 0; $expectedAgg->from = 1; $expectedAgg->sort = $sorts->toArray(); $expected = ['agg_test' => ['top_hits' => $expectedAgg]]; $this->assertEquals($expected, $aggregation->toArray()); }
/** * @return Search */ public function getTestSubAggregationsData() { $out = []; // Case 0: top hits aggregation inside ranges. $search = new Search(); $rangeAgg = new RangeAggregation('range'); $rangeAgg->setField('price'); $rangeAgg->addRange(null, 15); $rangeAgg->addRange(15); $topHitsAgg = new TopHitsAggregation('top_hits'); $topHitsAgg->setSort(new Sorts(new Sort('price', Sort::ORDER_DESC))); $rangeAgg->addAggregation($topHitsAgg); $search->addAggregation($rangeAgg); $expectedTopHits = [[1], [2, 3]]; $out[] = [$search, $expectedTopHits]; return $out; }