@@ -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