From 89a9a3af7703dc75b88b9d96be86844d7296e77f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simonas=20=C5=A0erlinskas?= <simonas.serlinskas@nfq.com> Date: Wed, 5 Aug 2015 12:13:36 +0300 Subject: [PATCH] added endpoint builder getters tests --- src/SearchEndpoint/HighlightEndpoint.php | 14 ++++++++++++++ src/SearchEndpoint/QueryEndpoint.php | 8 ++++++++ .../SearchEndpoint/AggregationsEndpointTest.php | 17 +++++++++++++---- tests/SearchEndpoint/FilterEndpointTest.php | 13 ++++++++++++- tests/SearchEndpoint/HighlightEndpointTest.php | 15 ++++++++++++++- tests/SearchEndpoint/PostFilterEndpointTest.php | 14 +++++++++++++- tests/SearchEndpoint/QueryEndpointTest.php | 15 ++++++++++++--- tests/SearchEndpoint/SortEndpointTest.php | 13 ++++++++++++- 8 files changed, 98 insertions(+), 11 deletions(-) diff --git a/src/SearchEndpoint/HighlightEndpoint.php b/src/SearchEndpoint/HighlightEndpoint.php index c0d16a5..ba4ff9c 100644 --- a/src/SearchEndpoint/HighlightEndpoint.php +++ b/src/SearchEndpoint/HighlightEndpoint.php @@ -29,6 +29,11 @@ class HighlightEndpoint extends AbstractSearchEndpoint */ private $highlight; + /** + * @var string Key for highlight storing. + */ + private $key; + /** * {@inheritdoc} */ @@ -50,6 +55,15 @@ class HighlightEndpoint extends AbstractSearchEndpoint throw new \OverflowException('Only one highlight can be set'); } + $this->key = $key; $this->highlight = $builder; } + + /** + * {@inheritdoc} + */ + public function getAll($boolType = null) + { + return [$this->key => $this->highlight]; + } } diff --git a/src/SearchEndpoint/QueryEndpoint.php b/src/SearchEndpoint/QueryEndpoint.php index 1c4c83e..89f5ec9 100644 --- a/src/SearchEndpoint/QueryEndpoint.php +++ b/src/SearchEndpoint/QueryEndpoint.php @@ -104,4 +104,12 @@ class QueryEndpoint extends AbstractSearchEndpoint implements OrderedNormalizerI { return new BoolQuery(); } + + /** + * {@inheritdoc} + */ + public function getAll($boolType = null) + { + return $this->bool->getQueries($boolType); + } } diff --git a/tests/SearchEndpoint/AggregationsEndpointTest.php b/tests/SearchEndpoint/AggregationsEndpointTest.php index 1a3f599..510421b 100644 --- a/tests/SearchEndpoint/AggregationsEndpointTest.php +++ b/tests/SearchEndpoint/AggregationsEndpointTest.php @@ -11,11 +11,8 @@ namespace ONGR\ElasticsearchDSL\Tests\Unit\SearchEndpoint; -use ONGR\ElasticsearchDSL\BuilderInterface; -use ONGR\ElasticsearchDSL\NamedBuilderInterface; +use ONGR\ElasticsearchDSL\Aggregation\MissingAggregation; use ONGR\ElasticsearchDSL\SearchEndpoint\AggregationsEndpoint; -use PHPUnit_Framework_MockObject_MockObject as MockObject; -use Symfony\Component\Serializer\Normalizer\NormalizerInterface; /** * Class AggregationsEndpointTest. @@ -32,4 +29,16 @@ class AggregationsEndpointTest extends \PHPUnit_Framework_TestCase new AggregationsEndpoint() ); } + + public function testEndpointGetter() + { + $aggName = 'acme_agg'; + $agg = new MissingAggregation('acme'); + $endpoint = new AggregationsEndpoint(); + $endpoint->add($agg, $aggName); + $builders = $endpoint->getAll(); + + $this->assertCount(1, $builders); + $this->assertSame($agg, $builders[$aggName]); + } } diff --git a/tests/SearchEndpoint/FilterEndpointTest.php b/tests/SearchEndpoint/FilterEndpointTest.php index b8b46a8..69d2921 100644 --- a/tests/SearchEndpoint/FilterEndpointTest.php +++ b/tests/SearchEndpoint/FilterEndpointTest.php @@ -11,7 +11,6 @@ namespace ONGR\ElasticsearchDSL\Tests\Unit\SearchEndpoint; -use ONGR\ElasticsearchDSL\BuilderInterface; use ONGR\ElasticsearchDSL\Filter\MatchAllFilter; use ONGR\ElasticsearchDSL\Query\FilteredQuery; use ONGR\ElasticsearchDSL\SearchEndpoint\FilterEndpoint; @@ -67,4 +66,16 @@ class FilterEndpointTest extends \PHPUnit_Framework_TestCase $this->assertInstanceOf('ONGR\ElasticsearchDSL\Query\FilteredQuery', $reference); $this->assertSame($matchAllFilter, $reference->getFilter()); } + + public function testEndpointGetter() + { + $filterName = 'acme_filter'; + $filter = new MatchAllFilter(); + $endpoint = new FilterEndpoint(); + $endpoint->add($filter, $filterName); + $builders = $endpoint->getAll(); + + $this->assertCount(1, $builders); + $this->assertSame($filter, $builders[$filterName]); + } } diff --git a/tests/SearchEndpoint/HighlightEndpointTest.php b/tests/SearchEndpoint/HighlightEndpointTest.php index 496e14d..85200ae 100644 --- a/tests/SearchEndpoint/HighlightEndpointTest.php +++ b/tests/SearchEndpoint/HighlightEndpointTest.php @@ -11,7 +11,6 @@ namespace ONGR\ElasticsearchDSL\Tests\Unit\SearchEndpoint; -use ONGR\ElasticsearchDSL\BuilderInterface; use ONGR\ElasticsearchDSL\Highlight\Highlight; use ONGR\ElasticsearchDSL\SearchEndpoint\HighlightEndpoint; use Symfony\Component\Serializer\Normalizer\NormalizerInterface; @@ -52,4 +51,18 @@ class HighlightEndpointTest extends \PHPUnit_Framework_TestCase json_encode($instance->normalize($normalizerInterface)) ); } + + public function testEndpointGetter() + { + $highlightName = 'acme_highlight'; + $highlight = new Highlight(); + $highlight->addField('acme'); + + $endpoint = new HighlightEndpoint(); + $endpoint->add($highlight, $highlightName); + $builders = $endpoint->getAll(); + + $this->assertCount(1, $builders); + $this->assertSame($highlight, $builders[$highlightName]); + } } diff --git a/tests/SearchEndpoint/PostFilterEndpointTest.php b/tests/SearchEndpoint/PostFilterEndpointTest.php index 4808c5f..3490ba7 100644 --- a/tests/SearchEndpoint/PostFilterEndpointTest.php +++ b/tests/SearchEndpoint/PostFilterEndpointTest.php @@ -11,7 +11,6 @@ namespace ONGR\ElasticsearchDSL\Tests\Unit\SearchEndpoint; -use ONGR\ElasticsearchDSL\BuilderInterface; use ONGR\ElasticsearchDSL\Filter\MatchAllFilter; use ONGR\ElasticsearchDSL\SearchEndpoint\PostFilterEndpoint; use Symfony\Component\Serializer\Normalizer\NormalizerInterface; @@ -59,4 +58,17 @@ class PostFilterEndpointTest extends \PHPUnit_Framework_TestCase json_encode($instance->normalize($normalizerInterface)) ); } + + public function testEndpointGetter() + { + $filterName = 'acme_post_filter'; + $filter = new MatchAllFilter(); + + $endpoint = new PostFilterEndpoint(); + $endpoint->add($filter, $filterName); + $builders = $endpoint->getAll(); + + $this->assertCount(1, $builders); + $this->assertSame($filter, $builders[$filterName]); + } } diff --git a/tests/SearchEndpoint/QueryEndpointTest.php b/tests/SearchEndpoint/QueryEndpointTest.php index 759efb7..0a17c70 100644 --- a/tests/SearchEndpoint/QueryEndpointTest.php +++ b/tests/SearchEndpoint/QueryEndpointTest.php @@ -11,9 +11,6 @@ namespace ONGR\ElasticsearchDSL\Tests\Unit\SearchEndpoint; -use ONGR\ElasticsearchDSL\BuilderInterface; -use ONGR\ElasticsearchDSL\Query\BoolQuery; -use ONGR\ElasticsearchDSL\Query\FilteredQuery; use ONGR\ElasticsearchDSL\Query\MatchAllQuery; use ONGR\ElasticsearchDSL\SearchEndpoint\QueryEndpoint; use PHPUnit_Framework_MockObject_MockObject as MockObject; @@ -62,4 +59,16 @@ class QueryEndpointTest extends \PHPUnit_Framework_TestCase $instance->normalize($normalizerInterface) ); } + + public function testEndpointGetter() + { + $queryName = 'acme_query'; + $query = new MatchAllQuery(); + $endpoint = new QueryEndpoint(); + $endpoint->add($query, $queryName); + $builders = $endpoint->getAll(); + + $this->assertCount(1, $builders); + $this->assertSame($query, $builders[$queryName]); + } } diff --git a/tests/SearchEndpoint/SortEndpointTest.php b/tests/SearchEndpoint/SortEndpointTest.php index f3079cd..c347583 100644 --- a/tests/SearchEndpoint/SortEndpointTest.php +++ b/tests/SearchEndpoint/SortEndpointTest.php @@ -11,7 +11,6 @@ namespace ONGR\ElasticsearchDSL\Tests\Unit\SearchEndpoint; -use ONGR\ElasticsearchDSL\BuilderInterface; use ONGR\ElasticsearchDSL\SearchEndpoint\SortEndpoint; use ONGR\ElasticsearchDSL\Sort\FieldSort; use PHPUnit_Framework_MockObject_MockObject as MockObject; @@ -50,4 +49,16 @@ class SortEndpointTest extends \PHPUnit_Framework_TestCase $instance->normalize($normalizerInterface) ); } + + public function testEndpointGetter() + { + $sortName = 'acme_sort'; + $sort = new FieldSort('acme'); + $endpoint = new SortEndpoint(); + $endpoint->add($sort, $sortName); + $builders = $endpoint->getAll(); + + $this->assertCount(1, $builders); + $this->assertSame($sort, $builders[$sortName]); + } } -- GitLab