git.iko.soy/typeable/bloodhound
on master help sign in
Test _update API
commitf20a8b7f7dd8f55e365d7096d746499ecd81d4ae authorDmitry Dzhus <dima@dzhus.org> dateTue 22 Dec 2015, 17:28 (11 years ago) parentf5c51d7
1 file changed+24−2
tests/tests.hs+24−2
tests/tests.hs+24−2
@@ -180,6 +180,21 @@ exampleTweet = Tweet { user = "bitemyapp"
180180 , age = 10000
181181 , location = Location 40.12 (-71.34) }
182182
183+newAge :: Int
184+newAge = 31337
185+
186+newUser :: Text
187+newUser = "someotherapp"
188+
189+tweetPatch :: Value
190+tweetPatch =
191+ object [ "age" .= newAge
192+ , "user" .= newUser
193+ ]
194+
195+patchedTweet :: Tweet
196+patchedTweet = exampleTweet{age = newAge, user = newUser}
197+
183198otherTweet :: Tweet
184199otherTweet = Tweet { user = "notmyapp"
185200 , postDate = UTCTime
@@ -207,6 +222,12 @@ insertData' ids = do
207222 _ <- refreshIndex testIndex
208223 return r
209224
225+updateData :: BH IO Reply
226+updateData = do
227+ r <- updateDocument testIndex testMapping defaultIndexDocumentSettings tweetPatch (DocId "1")
228+ _ <- refreshIndex testIndex
229+ return r
230+
210231insertOther :: BH IO ()
211232insertOther = do
212233 _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings otherTweet (DocId "2")
@@ -761,12 +782,13 @@ main = hspec $ do
761782 liftIO (errorResp `shouldBe` Right (EsError 404 "IndexMissingException[[bogus] missing]"))
762783
763784 describe "document API" $ do
764− it "indexes, gets, and then deletes the generated document" $ withTestEnv $ do
785+ it "indexes, updates, gets, and then deletes the generated document" $ withTestEnv $ do
765786 _ <- insertData
787+ _ <- updateData
766788 docInserted <- getDocument testIndex testMapping (DocId "1")
767789 let newTweet = eitherDecode
768790 (responseBody docInserted) :: Either String (EsResult Tweet)
769− liftIO $ (fmap getSource newTweet `shouldBe` Right (Just exampleTweet))
791+ liftIO $ (fmap getSource newTweet `shouldBe` Right (Just patchedTweet))
770792
771793 it "indexes, gets, and then deletes the generated document with a DocId containing a space" $ withTestEnv $ do
772794 _ <- insertWithSpaceInId