git.iko.soy/typeable/openapi3
on master help sign in
add Test for ParamSchema
commitfbf77235e9d69e9946847eff3dffe07626f8bfe2 authoranneloreegger <annelore.e@hotmail.com> dateSun 16 Jun 2019, 20:09 (7 years ago) parentfeaeb64
2 files changed+8−2
stack.yaml+2−1 test/Data/Swagger/ParamSchemaSpec.hs+6−1
stack.yaml+2−1
@@ -1,4 +1,4 @@
1−resolver: lts-12.10
1+resolver: lts-13.23
22packages:
33- '.'
44extra-deps:
@@ -6,3 +6,4 @@ extra-deps:
66- base-compat-batteries-0.10.4
77- contravariant-1.5
88- insert-ordered-containers-0.2.2
9+#- base-compat-0.10.4
test/Data/Swagger/ParamSchemaSpec.hs+6−1
@@ -3,9 +3,10 @@
33{-# LANGUAGE ScopedTypeVariables #-}
44{-# LANGUAGE TemplateHaskell #-}
55{-# LANGUAGE QuasiQuotes #-}
6+{-# LANGUAGE OverloadedStrings #-}
67module Data.Swagger.ParamSchemaSpec where
78
8−import Data.Aeson (Value)
9+import Data.Aeson
910import Data.Aeson.QQ.Simple
1011import Data.Char
1112import Data.Proxy
@@ -17,6 +18,9 @@ import Data.Swagger.Internal (SwaggerKind(..))
1718import Data.Swagger.CommonTestTypes
1819import SpecCommon
1920import Test.Hspec
21+import Data.Time.LocalTime
22+
23+import qualified Data.HashMap.Strict as HM
2024
2125checkToParamSchema :: ToParamSchema a => Proxy a -> Value -> Spec
2226checkToParamSchema proxy js = (toParamSchema proxy :: ParamSchema ('SwaggerKindNormal Param)) <=> js
@@ -30,6 +34,7 @@ spec = do
3034 context "Unary records" $ do
3135 context "Email (unary record)" $ checkToParamSchema (Proxy :: Proxy Email) emailSchemaJSON
3236 context "UserId (non-record newtype)" $ checkToParamSchema (Proxy :: Proxy UserId) userIdSchemaJSON
37+ context "TimeOfDay" $ checkToParamSchema (Proxy :: Proxy TimeOfDay) (Object (HM.fromList [("format",String "hh:MM:ss"),("type",String "string")]))
3338
3439main :: IO ()
3540main = hspec spec