diff --git a/src/SearchEndpoint/HighlightEndpoint.php b/src/SearchEndpoint/HighlightEndpoint.php index c0d16a584f3b7ef7570c9daacdb7c9267ea52156..ba4ff9c3552bd079cda25553604e7a4b8ca95428 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 1c4c83e08d29222fb669281783c0406a1e232df6..89f5ec940199f3f958e5b041c17f27576ba032ce 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 1a3f5993b3db57f70e0decc3d468c31a04fe1f53..510421b7b5ece916e1ca8bce1ba4a721a6b8c1cb 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 b8b46a8365e1ac94ab17cdcb14eb7f2fda2b6979..69d2921b52995fffdf725a659cfb01a32eb33b72 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 496e14dce0ec02381397343c7fba6f7448e3e862..85200ae0141b5f7aaec125f275a061ac0537fcf2 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 4808c5fb9ca08d89ec41055c3f2ac0c331eb71a9..3490ba7b6b7d7b1c0fe938afc8d9d3f8723a8e1f 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 759efb77243e69c2ddceb5b601130f7d0b637d0b..0a17c703c7e51c891c19ee29d8ec909f9574ab57 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 f3079cd94a7e244d376c72c13fc5db450f48e547..c34758347fc84fc81da32c54264971496e8f3956 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]); + } }