Skip to content

Commit 056393a

Browse files
committed
TASK: Add test for a multi word suggestion
1 parent 4bc6951 commit 056393a

1 file changed

Lines changed: 32 additions & 10 deletions

File tree

Tests/Functional/Eel/ElasticSearchQueryTest.php

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -208,28 +208,50 @@ public function fieldBasedAggregations()
208208
$this->assertEquals($expectedChickenBucket, $result[$aggregationTitle]['buckets'][0]);
209209
}
210210

211+
public function termSuggestionDataProvider()
212+
{
213+
return [
214+
'singleWord' => [
215+
'term' => 'chickn',
216+
'expectedBestSuggestions' => [
217+
'chicken'
218+
]
219+
],
220+
'multiWord' => [
221+
'term' => 'chickn eggs',
222+
'expectedBestSuggestions' => [
223+
'chicken',
224+
'egg'
225+
]
226+
],
227+
];
228+
}
229+
211230
/**
231+
* @dataProvider termSuggestionDataProvider
212232
* @test
233+
*
234+
* @param string $term
235+
* @param array $expectedBestSuggestions
213236
*/
214-
public function termSuggestion()
237+
public function termSuggestion($term, $expectedBestSuggestions)
215238
{
216-
$titleSuggestionKey = 'chickn';
217-
218239
$result = $this->getQueryBuilder()
219240
->log($this->getLogMessagePrefix(__METHOD__))
220-
->termSuggestions($titleSuggestionKey, 'title')
241+
->termSuggestions($term, 'title')
221242
->execute()
222243
->getSuggestions();
223244

224245
$this->assertArrayHasKey('suggestions', $result);
225246
$this->assertTrue(is_array($result['suggestions']), 'Suggestions must be an array.');
226-
$firstSuggestion = current($result['suggestions']);
227-
228-
$this->assertArrayHasKey('options', $firstSuggestion);
247+
$this->assertCount(count($expectedBestSuggestions), $result['suggestions']);
229248

230-
$this->assertCount(1, $firstSuggestion['options']);
231-
232-
$this->assertEquals('chicken', $firstSuggestion['options'][0]['text']);
249+
foreach ($expectedBestSuggestions as $key => $expectedBestSuggestion) {
250+
$suggestion = $result['suggestions'][$key];
251+
$this->assertArrayHasKey('options', $suggestion);
252+
$this->assertCount(1, $suggestion['options']);
253+
$this->assertEquals($expectedBestSuggestion, $suggestion['options'][0]['text']);
254+
}
233255
}
234256

235257
/**

0 commit comments

Comments
 (0)