nri-test-encoding-0.1.1.3: A library to simplify writing golden tests for encoding types.
Safe HaskellNone
LanguageHaskell2010

Examples

Description

Helpers for associating example values with all the types we use in our APIs. This allows us to write tests that will warn us when the encoding of our types change, potentially in backwards-incompatible ways.

Synopsis

Documentation

class HasExamples t where Source #

A helper type class that provides us example values of particular types. The IsApi typeclass below will demand we define an instance of this type class for each type used in a request or response body.

Methods

examples :: Proxy t -> Examples Source #

Instances

Instances details
HasExamples () Source # 
Instance details

Defined in Examples

Methods

examples :: Proxy () -> Examples Source #

HasExamples NoContent Source # 
Instance details

Defined in Test.Encoding.Routes

HasExamples Int Source # 
Instance details

Defined in Examples

Methods

examples :: Proxy Int -> Examples Source #

HasExamples Text Source # 
Instance details

Defined in Examples

Methods

examples :: Proxy Text -> Examples Source #

HasExamples a => HasExamples (Maybe a :: Type) Source # 
Instance details

Defined in Examples

Methods

examples :: Proxy (Maybe a) -> Examples Source #

HasExamples a => HasExamples (List a :: Type) Source # 
Instance details

Defined in Examples

Methods

examples :: Proxy (List a) -> Examples Source #

HasExamples a => HasExamples ((a, List a) :: Type) Source # 
Instance details

Defined in Examples

Methods

examples :: Proxy (a, List a) -> Examples Source #

(HasExamples a, HasExamples b) => HasExamples ((a, b) :: Type) Source # 
Instance details

Defined in Examples

Methods

examples :: Proxy (a, b) -> Examples Source #

(HasExamples a, HasExamples b) => HasExamples (Dict a b :: Type) Source # 
Instance details

Defined in Examples

Methods

examples :: Proxy (Dict a b) -> Examples Source #

(HasExamples a, HasExamples b, HasExamples c) => HasExamples ((a, b, c) :: Type) Source # 
Instance details

Defined in Examples

Methods

examples :: Proxy (a, b, c) -> Examples Source #

data Examples Source #

Example values of a type.

Instances

Instances details
Semigroup Examples Source # 
Instance details

Defined in Examples

example :: ToJSON a => Text -> a -> Examples Source #

Create an example for a type. Examples consists of a description and an encoded value.

render :: Examples -> Text Source #

Render example values to a Text.