sydtest-yesod-0.3.0.2: A yesod companion library for sydtest
Safe HaskellSafe-Inferred
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
Generic (YesodClient site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Associated Types

type Rep (YesodClient site) :: Type -> Type #

Methods

from :: YesodClient site -> Rep (YesodClient site) x #

to :: Rep (YesodClient site) x -> YesodClient site #

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 #

type Rep (YesodClient site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

type Rep (YesodClient site) = D1 ('MetaData "YesodClient" "Test.Syd.Yesod.Client" "sydtest-yesod-0.3.0.2-KtanN3rUmDp9Q8nAuuA5iX" 'False) (C1 ('MetaCons "YesodClient" 'PrefixI 'True) (S1 ('MetaSel ('Just "yesodClientSite") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 site) :*: (S1 ('MetaSel ('Just "yesodClientManager") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Manager) :*: S1 ('MetaSel ('Just "yesodClientSiteURI") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 URI))))

data YesodClientState Source #

The state that is maintained throughout a YesodClientM

Constructors

YesodClientState 

Fields

Instances

Instances details
Generic YesodClientState Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Associated Types

type Rep YesodClientState :: Type -> Type #

MonadState YesodClientState (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

type Rep YesodClientState Source # 
Instance details

Defined in Test.Syd.Yesod.Client

type Rep YesodClientState = D1 ('MetaData "YesodClientState" "Test.Syd.Yesod.Client" "sydtest-yesod-0.3.0.2-KtanN3rUmDp9Q8nAuuA5iX" 'False) (C1 ('MetaCons "YesodClientState" 'PrefixI 'True) (S1 ('MetaSel ('Just "yesodClientStateLast") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Request, Response ByteString))) :*: S1 ('MetaSel ('Just "yesodClientStateCookies") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CookieJar)))

initYesodClientState :: YesodClientState 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'.

Instances

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

Defined in Test.Syd.Yesod.Client

MonadFail (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

fail :: String -> YesodClientM site a #

MonadIO (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

liftIO :: IO a -> 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 #

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 #

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 #

MonadThrow (YesodClientM site) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Methods

throwM :: Exception e => e -> 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 #

IsTest (YesodClientM site ()) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Associated Types

type Arg1 (YesodClientM site ()) #

type Arg2 (YesodClientM site ()) #

Methods

runTest :: YesodClientM site () -> TestRunSettings -> ProgressReporter -> ((Arg1 (YesodClientM site ()) -> Arg2 (YesodClientM site ()) -> IO ()) -> IO ()) -> IO TestRunResult #

IsTest (outerArgs -> YesodClientM site ()) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

Associated Types

type Arg1 (outerArgs -> YesodClientM site ()) #

type Arg2 (outerArgs -> YesodClientM site ()) #

Methods

runTest :: (outerArgs -> YesodClientM site ()) -> TestRunSettings -> ProgressReporter -> ((Arg1 (outerArgs -> YesodClientM site ()) -> Arg2 (outerArgs -> YesodClientM site ()) -> IO ()) -> IO ()) -> IO TestRunResult #

type Arg1 (YesodClientM site ()) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

type Arg1 (YesodClientM site ()) = ()
type Arg1 (outerArgs -> YesodClientM site ()) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

type Arg1 (outerArgs -> YesodClientM site ()) = outerArgs
type Arg2 (YesodClientM site ()) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

type Arg2 (YesodClientM site ()) = YesodClient site
type Arg2 (outerArgs -> YesodClientM site ()) Source # 
Instance details

Defined in Test.Syd.Yesod.Client

type Arg2 (outerArgs -> YesodClientM site ()) = YesodClient site

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.

requireRequest :: YesodClientM site Request Source #

Get the most recently sent request.

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

Get the most recently received response.

requireResponse :: YesodClientM site (Response ByteString) Source #

Get the most recently received response, and assert that it already exists.

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

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

requireLast :: YesodClientM site (Request, Response ByteString) Source #

Get the most recently sent request and the response to it, and assert that they already exist.

getStatus :: YesodClientM site (Maybe Int) Source #

Get the status of the most recently received response.

requireStatus :: YesodClientM site Int Source #

Get the status of the most recently received response, and assert that it already exists.

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

Get the Location header of most recently received response.

requireLocation :: ParseRoute site => YesodClientM localSite (Route site) Source #

Get the Location header of most recently received response, and assert that it is a valid Route.

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.