git.iko.soy/typeable/bloodhound
on e84bf70 help sign in
22 lines 973 B history raw
1{-# LANGUAGE OverloadedStrings #-}
3module Test.Suggest where
5import Test.Common
6import Test.Import
8spec :: Spec
9spec =
10 describe "Suggest" $
11 it "returns a search suggestion using the phrase suggester" $ withTestEnv $ do
12 _ <- insertData
13 let phraseSuggester = mkPhraseSuggester (FieldName "message")
14 namedSuggester = Suggest "Use haskel" "suggest_name" (SuggestTypePhraseSuggester phraseSuggester)
15 search' = mkSearch Nothing Nothing
16 search = search' { suggestBody = Just namedSuggester }
17 expectedText = Just "use haskell"
18 resp <- searchByIndex testIndex search
19 parsed <- parseEsResponse resp :: BH IO (Either EsError (SearchResult Tweet))
20 case parsed of
21 Left e -> liftIO $ expectationFailure ("Expected an search suggestion but got " <> show e)
22 Right sr -> liftIO $ (suggestOptionsText . head . suggestResponseOptions . head . nsrResponses <$> suggest sr) `shouldBe` expectedText