bloodhound-0.23.0.0: tests/Test/SearchAfterSpec.hs
module Test.SearchAfterSpec (spec) where
import Control.Concurrent (threadDelay)
import qualified Data.Aeson as Aeson
import TestsUtils.Common
import TestsUtils.Import
import Prelude
spec :: Spec
spec =
describe "Search After API" $
it "returns document for search after query" $ do
majorVersion <- fetchMajorVersion
withTestEnv $ do
_ <- insertData
_ <- insertOther
let sortSpec = DefaultSortSpec $ mkSort (FieldName "user") Ascending
searchAfterKey' = [Aeson.toJSON ("bitemyapp" :: String)]
search =
Search
{ queryBody = Nothing,
filterBody = Nothing,
sortBody = Just [sortSpec],
aggBody = Nothing,
highlight = Nothing,
trackSortScores = False,
from = From 0,
size = Size 10,
searchType = SearchTypeDfsQueryThenFetch,
searchAfterKey = Just searchAfterKey',
fields = Nothing,
scriptFields = Nothing,
source = Nothing,
suggestBody = Nothing,
pointInTime = Nothing
}
when (majorVersion == 2) $
liftIO $
threadDelay 50000
result <- searchTweets search
let myTweet = result >>= grabFirst
liftIO $
myTweet `shouldBe` Right otherTweet