From a7d42846b56dbe87a68decb57fcc6168155481c2 Mon Sep 17 00:00:00 2001 From: pythonissam Date: Sat, 14 Apr 2018 06:00:45 +0000 Subject: [PATCH] add performMethod --- yesod-test/Yesod/Test.hs | 16 ++++++++++++++++ yesod-test/test/main.hs | 3 +++ yesod-test/yesod-test.cabal | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/yesod-test/Yesod/Test.hs b/yesod-test/Yesod/Test.hs index 22fed19c..505f645a 100644 --- a/yesod-test/Yesod/Test.hs +++ b/yesod-test/Yesod/Test.hs @@ -54,6 +54,7 @@ module Yesod.Test , get , post , postBody + , performMethod , followRedirect , getLocation , request @@ -929,6 +930,21 @@ get url = request $ do setMethod "GET" setUrl url +-- | Perform a request using a given method to @url@. +-- +-- @since 1.6.3 +-- +-- ==== __Examples__ +-- +-- > performMethod "GET" HomeR +performMethod :: (Yesod site, RedirectUrl site url) + => ByteString + -> url + -> YesodExample site () +performMethod method url = request $ do + setMethod method + setUrl url + -- | Follow a redirect, if the last response was a redirect. -- (We consider a request a redirect if the status is -- 301, 302, 303, 307 or 308, and the Location header is set.) diff --git a/yesod-test/test/main.hs b/yesod-test/test/main.hs index 9fdcf6ae..b0b2ebe6 100644 --- a/yesod-test/test/main.hs +++ b/yesod-test/test/main.hs @@ -124,6 +124,9 @@ main = hspec $ do yit "tests1b" $ do get ("/foo" :: Text) statusIs 404 + yit "tests1c" $ do + performMethod "DELETE" ("/" :: Text) + statusIs 200 ydescribe "tests2" $ do yit "type-safe URLs" $ do get $ LiteAppRoute [] diff --git a/yesod-test/yesod-test.cabal b/yesod-test/yesod-test.cabal index 7ae516a0..ddc5519c 100644 --- a/yesod-test/yesod-test.cabal +++ b/yesod-test/yesod-test.cabal @@ -1,5 +1,5 @@ name: yesod-test -version: 1.6.2 +version: 1.6.3 license: MIT license-file: LICENSE author: Nubis