diff --git a/yesod-test/ChangeLog.md b/yesod-test/ChangeLog.md index 81fbda95..2c1330d4 100644 --- a/yesod-test/ChangeLog.md +++ b/yesod-test/ChangeLog.md @@ -1,6 +1,7 @@ ## 1.5.7 -* Add clickOn +* Add clickOn. +[#1408](https://github.com/yesodweb/yesod/pull/1408) ## 1.5.6 diff --git a/yesod-test/Yesod/Test.hs b/yesod-test/Yesod/Test.hs index 9dca90f6..37c7a10d 100644 --- a/yesod-test/Yesod/Test.hs +++ b/yesod-test/Yesod/Test.hs @@ -831,6 +831,13 @@ setUrl url' = do , rbdGets = rbdGets rbd ++ H.parseQuery (TE.encodeUtf8 urlQuery) } + +-- | Click on a link defined by a CSS query +-- +-- ==== __ Examples__ +-- +-- > get "/foobar" +-- > clickOn "a#idofthelink" clickOn :: Yesod site => Query -> YesodExample site () clickOn query = do withResponse' yedResponse ["Tried to invoke clickOn in order to read HTML of a previous response."] $ \ res -> diff --git a/yesod-test/test/main.hs b/yesod-test/test/main.hs index 705e3532..0b2fe611 100644 --- a/yesod-test/test/main.hs +++ b/yesod-test/test/main.hs @@ -174,6 +174,7 @@ main = hspec $ do get ("/htmlWithLink" :: Text) clickOn "a#thelink" statusIs 200 + bodyEquals "Hello

Hello World

Hello Moon

" get ("/htmlWithLink" :: Text) (bad :: Either SomeException ()) <- try (clickOn "a#nonexistentlink")