sydtest-yesod-0.0.0.0: A yesod companion library for sydtest
Safe HaskellNone
LanguageHaskell2010

Test.Syd.Yesod.Client

Synopsis

Documentation

data YesodClient site Source #

A client environment to call a Yesod app.

Constructors

YesodClient 

Fields

Instances

Instances details
MonadReader (YesodClient site) (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

ask :: YesodClientM site (YesodClient site) #

local :: (YesodClient site -> YesodClient site) -> YesodClientM site a -> YesodClientM site a #

reader :: (YesodClient site -> a) -> YesodClientM site a #

MonadReader (YesodClient site) (RequestBuilder site) Source # 
Instance details

Defined in Test.Syd.Yesod.Request

Methods

ask :: RequestBuilder site (YesodClient site) #

local :: (YesodClient site -> YesodClient site) -> RequestBuilder site a -> RequestBuilder site a #

reader :: (YesodClient site -> a) -> RequestBuilder site a #

data YesodClientState site Source #

The state that is maintained throughout a YesodClientM

Constructors

YesodClientState 

Fields

Instances

Instances details
MonadState (YesodClientState site) (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

get :: YesodClientM site (YesodClientState site) #

put :: YesodClientState site -> YesodClientM site () #

state :: (YesodClientState site -> (a, YesodClientState site)) -> YesodClientM site a #

initYesodClientState :: YesodClientState site Source #

The starting point of the 'YesodClientState site' of a 'YesodClientM site'

newtype YesodClientM site a Source #

A monad to call a Yesod app.

This has access to a 'YesodClient site'.

Constructors

YesodClientM 

Instances

Instances details
Monad (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

(>>=) :: YesodClientM site a -> (a -> YesodClientM site b) -> YesodClientM site b #

(>>) :: YesodClientM site a -> YesodClientM site b -> YesodClientM site b #

return :: a -> YesodClientM site a #

Functor (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

fmap :: (a -> b) -> YesodClientM site a -> YesodClientM site b #

(<$) :: a -> YesodClientM site b -> YesodClientM site a #

MonadFail (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

fail :: String -> YesodClientM site a #

Applicative (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

pure :: a -> YesodClientM site a #

(<*>) :: YesodClientM site (a -> b) -> YesodClientM site a -> YesodClientM site b #

liftA2 :: (a -> b -> c) -> YesodClientM site a -> YesodClientM site b -> YesodClientM site c #

(*>) :: YesodClientM site a -> YesodClientM site b -> YesodClientM site b #

(<*) :: YesodClientM site a -> YesodClientM site b -> YesodClientM site a #

MonadIO (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

liftIO :: IO a -> YesodClientM site a #

MonadThrow (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

throwM :: Exception e => e -> YesodClientM site a #

MonadState (YesodClientState site) (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

get :: YesodClientM site (YesodClientState site) #

put :: YesodClientState site -> YesodClientM site () #

state :: (YesodClientState site -> (a, YesodClientState site)) -> YesodClientM site a #

MonadReader (YesodClient site) (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

ask :: YesodClientM site (YesodClient site) #

local :: (YesodClient site -> YesodClient site) -> YesodClientM site a -> YesodClientM site a #

reader :: (YesodClient site -> a) -> YesodClientM site a #

type YesodExample site a = YesodClientM site a Source #

For backward compatibility

runYesodClientM :: YesodClient site -> YesodClientM site a -> IO a Source #

Run a YesodClientM site using a YesodClient site

getRequest :: YesodClientM site (Maybe Request) Source #

Get the most recently sent request.

getResponse :: YesodClientM site (Maybe (Response ByteString)) Source #

Get the most recently received response.

getLast :: YesodClientM site (Maybe (Request, Response ByteString)) Source #

Get the most recently sent request and the response to it.

getLocation :: ParseRoute site => YesodClientM site (Either Text (Route site)) Source #

Get the Location header of most recently received response.

withLastRequestContext :: YesodClientM site a -> YesodClientM site a Source #

Annotate the given test code with the last request and its response, if one has been made already.