diff --git a/tests/V5/Test/Generators.hs b/tests/V5/Test/Generators.hs index facf42d..a3b9ef0 100644 --- a/tests/V5/Test/Generators.hs +++ b/tests/V5/Test/Generators.hs @@ -55,6 +55,7 @@ instance (Arbitrary a, Typeable a) => Arbitrary (Hit a) where <*> arbitrary <*> arbitraryScore <*> arbitrary + <*> return Nothing <*> arbitrary <*> arbitrary @@ -183,7 +184,7 @@ instance Arbitrary Query where instance Arbitrary Filter where arbitrary = - Filter <$> arbitrary + Filter <$> arbitrary shrink (Filter q) = Filter <$> shrink q diff --git a/tests/V5/Test/Sorting.hs b/tests/V5/Test/Sorting.hs index 8665368..b9f838c 100644 --- a/tests/V5/Test/Sorting.hs +++ b/tests/V5/Test/Sorting.hs @@ -14,7 +14,7 @@ spec = let sortSpec = DefaultSortSpec $ mkSort (FieldName "age") Ascending let search = Search Nothing Nothing (Just [sortSpec]) Nothing Nothing - False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing + False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing Nothing Nothing Nothing result <- searchTweets search let myTweet = grabFirst result diff --git a/tests/V5/tests.hs b/tests/V5/tests.hs index 600bca5..e99c4be 100644 --- a/tests/V5/tests.hs +++ b/tests/V5/tests.hs @@ -18,6 +18,7 @@ import Test.Import import Prelude +import qualified Data.Aeson as Aeson import qualified Test.Aggregation as Aggregation import qualified Test.BulkAPI as Bulk import qualified Test.Documents as Documents @@ -117,3 +118,19 @@ main = hspec $ do regular_search `shouldBe` Right exampleTweet -- Check that the size restrtiction is being honored liftIO $ scan_search `shouldMatchList` [Just exampleTweet, Just otherTweet] + + describe "Search After API" $ + it "returns document for search after query" $ withTestEnv $ do + _ <- insertData + _ <- insertOther + let + sortSpec = DefaultSortSpec $ mkSort (FieldName "user") Ascending + searchAfterKey = [Aeson.toJSON ("bitemyapp" :: String)] + search = Search Nothing + Nothing (Just [sortSpec]) Nothing Nothing + False (From 0) (Size 10) SearchTypeQueryThenFetch (Just searchAfterKey) + Nothing Nothing Nothing Nothing + result <- searchTweets search + let myTweet = grabFirst result + liftIO $ + myTweet `shouldBe` Right otherTweet