From 384220c7df9a33af2434e6b4d0509d7fcd2cc416 Mon Sep 17 00:00:00 2001
From: Oliver Skroblin <dr@shopware.com>
Date: Thu, 9 Jun 2016 11:03:28 +0200
Subject: [PATCH] Only overwrite field parameter of
 \ONGR\ElasticsearchDSL\Suggest\CompletionSuggest if parameter not configured

---
 src/Suggest/CompletionSuggest.php       |  4 +++-
 tests/Suggest/CompletionSuggestTest.php | 21 +++++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/src/Suggest/CompletionSuggest.php b/src/Suggest/CompletionSuggest.php
index 74d9828..5219d7b 100644
--- a/src/Suggest/CompletionSuggest.php
+++ b/src/Suggest/CompletionSuggest.php
@@ -62,7 +62,9 @@ class CompletionSuggest implements BuilderInterface
      */
     public function toArray()
     {
-        $this->addParameter('field', 'suggest');
+        if (!$this->hasParameter('field')) {
+            $this->addParameter('field', 'suggest');
+        }
 
         if (!$this->hasParameter('size')) {
             $this->addParameter('size', self::DEFAULT_SIZE);
diff --git a/tests/Suggest/CompletionSuggestTest.php b/tests/Suggest/CompletionSuggestTest.php
index 322a233..8e4ce8c 100644
--- a/tests/Suggest/CompletionSuggestTest.php
+++ b/tests/Suggest/CompletionSuggestTest.php
@@ -56,6 +56,27 @@ class CompletionSuggestTest extends \PHPUnit_Framework_TestCase
                 'fuzzy' => ['fuzziness' => 2]
             ]
         );
+        $expected = ['foo' => [
+            'text' => 'bar',
+            'completion' => [
+                'field' => 'title',
+                'size' => 5,
+                'fuzzy' => ['fuzziness' => 2]
+            ],
+        ]];
+        $this->assertEquals($expected, $suggest->toArray());
+    }
+
+    public function testToArrayWithoutField()
+    {
+        $suggest = new CompletionSuggest(
+            'foo',
+            'bar',
+            [
+                'size' => 5,
+                'fuzzy' => ['fuzziness' => 2]
+            ]
+        );
         $expected = ['foo' => [
             'text' => 'bar',
             'completion' => [
-- 
GitLab