@@ -187,6 +187,12 @@ insertOther = do
187187 _ <- refreshIndex testIndex
188188 return ()
189189
190+insertOtherWithSpaceInId :: BH IO ()
191+insertOtherWithSpaceInId = do
192+ _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings otherTweet (DocId "Hello World")
193+ _ <- refreshIndex testIndex
194+ return ()
195+
190196searchTweet :: Search -> BH IO (Either String Tweet)
191197searchTweet search = do
192198 result <- searchTweets search
@@ -329,6 +335,13 @@ main = hspec $ do
329335 (responseBody docInserted) :: Either String (EsResult Tweet)
330336 liftIO $ (fmap getSource newTweet `shouldBe` Right (Just exampleTweet))
331337
338+ it "indexes, gets, and then deletes the generated document with a DocId containing a space" $ withTestEnv $ do
339+ _ <- insertOtherWithSpaceInId
340+ docInserted <- getDocument testIndex testMapping (DocId "Hello World")
341+ let newTweet = eitherDecode
342+ (responseBody docInserted) :: Either String (EsResult Tweet)
343+ liftIO $ (fmap getSource newTweet `shouldBe` Right (Just exampleTweet))
344+
332345 it "produces a parseable result when looking up a bogus document" $ withTestEnv $ do
333346 doc <- getDocument testIndex testMapping (DocId "bogus")
334347 let noTweet = eitherDecode
@@ -834,6 +847,6 @@ main = hspec $ do
834847 scan_search' <- scanSearch testIndex testMapping search :: BH IO [Hit Tweet]
835848 let scan_search = map hitSource scan_search'
836849 liftIO $
837− regular_search `shouldBe` Right exampleTweet -- Check that the size restrtiction is being honored
850+ regular_search `shouldBe` Right exampleTweet -- Check that the size restrtiction is being honored
838851 liftIO $
839852 scan_search `shouldMatchList` [exampleTweet, otherTweet]