From 32c2ee2bc013adde47ed0f467ed6082ff53619ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Simonas=20=C5=A0erlinskas?= <simonas.serlinskas@nfq.com>
Date: Tue, 11 Aug 2015 15:48:33 +0300
Subject: [PATCH] added more test cases to filter aggregation test

---
 tests/Aggregation/FilterAggregationTest.php | 33 ++++++++++++++++++---
 1 file changed, 29 insertions(+), 4 deletions(-)

diff --git a/tests/Aggregation/FilterAggregationTest.php b/tests/Aggregation/FilterAggregationTest.php
index ce5111b..f95b375 100644
--- a/tests/Aggregation/FilterAggregationTest.php
+++ b/tests/Aggregation/FilterAggregationTest.php
@@ -15,8 +15,10 @@ use ONGR\ElasticsearchDSL\Aggregation\AbstractAggregation;
 use ONGR\ElasticsearchDSL\Aggregation\FilterAggregation;
 use ONGR\ElasticsearchDSL\Aggregation\HistogramAggregation;
 use ONGR\ElasticsearchDSL\BuilderInterface;
+use ONGR\ElasticsearchDSL\Filter\BoolFilter;
 use ONGR\ElasticsearchDSL\Filter\MatchAllFilter;
 use ONGR\ElasticsearchDSL\Filter\MissingFilter;
+use ONGR\ElasticsearchDSL\Filter\TermFilter;
 
 class FilterAggregationTest extends \PHPUnit_Framework_TestCase
 {
@@ -62,6 +64,28 @@ class FilterAggregationTest extends \PHPUnit_Framework_TestCase
             ],
         ];
 
+        $out[] = [
+            $aggregation,
+            $result,
+        ];
+
+        // Case #2 testing bool filter.
+        $aggregation = new FilterAggregation('test_agg');
+        $matchAllFilter = new MatchAllFilter();
+        $termFilter = new TermFilter('acme', 'foo');
+        $boolFilter = new BoolFilter();
+        $boolFilter->add($matchAllFilter);
+        $boolFilter->add($termFilter);
+
+        $aggregation->setFilter($boolFilter);
+
+        $result = [
+            'filter' => [
+                $boolFilter->getType() => $boolFilter->toArray(),
+            ]
+        ];
+
+
         $out[] = [
             $aggregation,
             $result,
@@ -123,12 +147,13 @@ class FilterAggregationTest extends \PHPUnit_Framework_TestCase
      */
     public function testConstructorFilter()
     {
-        /** @var BuilderInterface|\PHPUnit_Framework_MockObject_MockObject $builderInterface */
-        $builderInterface = $this->getMockForAbstractClass('ONGR\ElasticsearchDSL\BuilderInterface');
-        $aggregation = new FilterAggregation('test', $builderInterface);
+        $matchAllFilter = new MatchAllFilter();
+        $aggregation = new FilterAggregation('test', $matchAllFilter);
         $this->assertSame(
             [
-                'filter' => [null => null],
+                'filter' => [
+                    $matchAllFilter->getType() => $matchAllFilter->toArray(),
+                ],
             ],
             $aggregation->toArray()
         );
-- 
GitLab