hspec-wai-json-0.7.0: Testing JSON APIs with hspec-wai

Safe HaskellNone
LanguageHaskell2010

Test.Hspec.Wai.JSON

Synopsis

Documentation

The examples in this module assume that you have the QuasiQuotes language extension enabled and that Data.ByteString.Lazy.Char8 is imported qualified as L:

>>> :set -XQuasiQuotes
>>> import Data.ByteString.Lazy.Char8 as L

json :: QuasiQuoter Source #

A QuasiQuoter for constructing JSON values.

The constructed value is polymorph and unifies to instances of FromValue.

When used as a ResponseMatcher it matches a response with

  • a status code of 200
  • a Content-Type header with value application/json
  • the specified JSON as response body

When used as a ByteString it creates a ByteString from the specified JSON that can be used as a request body for e.g. POST and PUT requests.

Example:

>>> L.putStrLn [json|[23, {foo: 42}]|]
[23,{"foo":42}]

class FromValue a where Source #

Minimal complete definition

fromValue

Methods

fromValue :: Value -> a Source #