@@ -0,0 +1,49 @@
1+{-# LANGUAGE DeriveGeneric #-}
2+{-# LANGUAGE OverloadedStrings #-}
3+{-# LANGUAGE QuasiQuotes #-}
4+{-# LANGUAGE ScopedTypeVariables #-}
6+module Servant.ServerSpec where
12+import Network.Wai.Test
16+import Servant.API.Get
20+data Person = Person {
24+ deriving (Eq, Show, Generic)
26+instance ToJSON Person
27+instance FromJSON Person
30+alice = Person "Alice" 103
38+type GetApi = Get Person
39+getApi :: Proxy GetApi
43+ describe "Servant.API.Get" $ do
44+ with (return (serve getApi (return alice))) $ do
45+ it "serves a Person" $ do
47+ return response `shouldRespondWith` 200
49+ decode' (simpleBody response) `shouldBe` Just alice