module Feature.RootSpec where import Network.HTTP.Types import Network.Wai (Application) import Test.Hspec import Test.Hspec.Wai import Test.Hspec.Wai.JSON import Protolude hiding (get) import SpecHelper spec :: SpecWith ((), Application) spec = describe "root spec function" $ do it "accepts application/openapi+json" $ request methodGet "/" [("Accept","application/openapi+json")] "" `shouldRespondWith` [json|{ "swagger": "2.0", "info": {"title": "PostgREST API", "description": "This is a dynamic API generated by PostgREST"} }|] { matchHeaders = ["Content-Type" <:> "application/openapi+json; charset=utf-8"] } it "accepts application/json" $ request methodGet "/" [("Accept", "application/json")] "" `shouldRespondWith` [json| { "tableName": "orders_view", "tableSchema": "test", "tableDeletable": true, "tableUpdatable": true, "tableInsertable": true, "tableDescription": null } |] { matchHeaders = [matchContentTypeJson] }