schemas-0.4.0.0: test/Schemas/OpenApi2Spec.hs
{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE OverloadedStrings #-}
module Schemas.OpenApi2Spec where
import qualified Data.HashMap.Strict as Map
import Person
import Person2
import Schemas
import Schemas.OpenApi2
import SchemasSpec
import Test.Hspec
spec :: Spec
spec = do
let personDocument = toOpenApi2Document defaultOptions [("Person", schemaFor @Person)]
describe "OpenApi2 schema" $
schemaSpec schema (definitions personDocument Map.! "Person")
describe "toOpenApi2Document" $ do
it "works for Person" $ do
Map.keys (definitions personDocument) `shouldContain` ["Person"]
Map.keys (failures personDocument) `shouldNotContain` ["Person"]
it "works for Person2" $ do
let document = toOpenApi2Document defaultOptions [("Person2", schemaFor @Person2)]
Map.keys (definitions document) `shouldContain` ["Person2"]
Map.keys (failures document) `shouldNotContain` ["Person2"]