From 547c50ad5596dacf4228c65684cb437eb5044811 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mantas=20Marcinkevi=C4=8Dius?= <marc.mantas@gmail.com>
Date: Mon, 29 Aug 2016 14:40:53 +0300
Subject: [PATCH] added a test

---
 .../BucketSelectorAggregationTest.php         | 61 +++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100644 tests/Aggregation/Pipeline/BucketSelectorAggregationTest.php

diff --git a/tests/Aggregation/Pipeline/BucketSelectorAggregationTest.php b/tests/Aggregation/Pipeline/BucketSelectorAggregationTest.php
new file mode 100644
index 0000000..559c2d9
--- /dev/null
+++ b/tests/Aggregation/Pipeline/BucketSelectorAggregationTest.php
@@ -0,0 +1,61 @@
+<?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\ElasticsearchDSL\Tests\Aggregation\Pipeline;
+
+use ONGR\ElasticsearchDSL\Aggregation\Pipeline\BucketSelectorAggregation;
+
+/**
+ * Unit test for bucket selector pipeline aggregation.
+ */
+class BucketSelectorAggregationTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * Tests toArray method.
+     */
+    public function testToArray()
+    {
+        $aggregation = new BucketSelectorAggregation(
+            'test',
+            [
+                'my_var1' => 'foo',
+                'my_var2' => 'bar',
+            ]
+        );
+        $aggregation->setScript('foo > bar');
+
+        $expected = [
+            'bucket_selector' => [
+                'buckets_path' => [
+                    'my_var1' => 'foo',
+                    'my_var2' => 'bar',
+                ],
+                'script' => 'foo > bar',
+            ],
+        ];
+
+        $this->assertEquals($expected, $aggregation->toArray());
+    }
+
+    /**
+     * Tests if the exception is thrown in getArray method if no
+     * buckets_path or script is set
+     *
+     * @expectedException \LogicException
+     * @expectedExceptionMessage `test` aggregation must have script set.
+     */
+    public function testGetArrayException()
+    {
+        $agg = new BucketSelectorAggregation('test', []);
+
+        $agg->getArray();
+    }
+}
-- 
GitLab