Skip to content
Snippets Groups Projects
Commit 010c0f5e authored by juliensantos87's avatar juliensantos87 Committed by Martynas Sudintas
Browse files

add ReverseNestedAggregation

ReverseNestedAggregation + tests
parent 6b60c759
No related branches found
No related tags found
No related merge requests found
<?php
/*
* This file is part of the ONGR package.
*
* (c) NFQ Technologies UAB <info@nfq.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace ONGR\ElasticsearchBundle\Tests\Unit\DSL\Aggregation;
use ONGR\ElasticsearchBundle\DSL\Aggregation\ReverseNestedAggregation;
class ReverseNestedAggregationTest extends \PHPUnit_Framework_TestCase
{
/**
* Test for reverse_nested aggregation toArray() method exception.
*
* @expectedException \LogicException
*/
public function testToArrayException()
{
$aggregation = new ReverseNestedAggregation('test_agg');
$aggregation->setPath('test_path');
$expectedResult = [
'agg_test_agg' => [
'reverse_nested' => ['path' => 'test_path'],
],
];
$this->assertEquals($expectedResult, $aggregation->toArray());
}
/**
* Test for reverse_nested aggregation toArray() method exception.
*/
public function testToArray()
{
$termMock = $this
->getMockBuilder('ONGR\ElasticsearchBundle\DSL\Aggregation\TermsAggregation')
->disableOriginalConstructor()
->getMock();
$termMock
->expects($this->once())
->method('toArray')
->will($this->returnValue(['terms' => []]));
$aggregation = new ReverseNestedAggregation('test_nested_agg');
$aggregation->setPath('test_path');
$aggregation->addAggregation($termMock);
$expectedResult = [
'agg_test_nested_agg' => [
'reverse_nested' => ['path' => 'test_path'],
'aggregations' => [
'terms' => [],
],
],
];
$this->assertEquals($expectedResult, $aggregation->toArray());
}
/**
* Test for reverse_nested aggregation toArray() without path.
*/
public function testToArrayNoPath()
{
$termMock = $this
->getMockBuilder('ONGR\ElasticsearchBundle\DSL\Aggregation\TermsAggregation')
->disableOriginalConstructor()
->getMock();
$termMock
->expects($this->once())
->method('toArray')
->will($this->returnValue(['terms' => []]));
$aggregation = new ReverseNestedAggregation('test_nested_agg');
$aggregation->addAggregation($termMock);
$expectedResult = [
'agg_test_nested_agg' => [
'reverse_nested' => new \stdClass(),
'aggregations' => [
'terms' => [],
],
],
];
$this->assertEquals($expectedResult, $aggregation->toArray());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment