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