/** * Tests the "Global" bucket aggregation */ public function testGlobalAggregation() { $this->specify('global aggregation was created', function () { $aggregation = $this->aggregationBuilder->createGlobalAggregation(); verify($aggregation)->isInstanceOf('\\Nord\\Lumen\\Elasticsearch\\Search\\Aggregation\\Bucket\\GlobalAggregation'); }); $this->specify('global aggregation format', function () { $aggregation = $this->aggregationBuilder->createGlobalAggregation(); $array = $aggregation->toArray(); verify($array)->equals(['global' => new stdClass(), 'aggs' => []]); }); $this->specify('global aggregation format with min/max aggregations', function () { $aggregation = $this->aggregationBuilder->createGlobalAggregation(); $aggregation->addAggregation($this->aggregationBuilder->createMinAggregation()->setField('field_name')->setName('min_name')); $aggregation->addAggregation($this->aggregationBuilder->createMaxAggregation()->setField('field_name')->setName('max_name')); $array = $aggregation->toArray(); verify($array)->equals(['global' => new stdClass(), 'aggs' => ['min_name' => ['min' => ['field' => 'field_name']], 'max_name' => ['max' => ['field' => 'field_name']]]]); }); }