From 4602eb1df3a713989b155f0140ff8909eb0370cf Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Mon, 28 Sep 2020 07:06:15 +0200 Subject: Validate arguments are defined --- tests/Test/DirectiveSpec.hs | 3 +-- tests/Test/FragmentSpec.hs | 3 +-- tests/Test/RootOperationSpec.hs | 9 +++++---- tests/Test/StarWars/QuerySpec.hs | 4 ++-- tests/Test/StarWars/Schema.hs | 10 +++------- 5 files changed, 12 insertions(+), 17 deletions(-) (limited to 'tests/Test') diff --git a/tests/Test/DirectiveSpec.hs b/tests/Test/DirectiveSpec.hs index 800189e..c115163 100644 --- a/tests/Test/DirectiveSpec.hs +++ b/tests/Test/DirectiveSpec.hs @@ -19,8 +19,7 @@ import Test.Hspec.GraphQL import Text.RawString.QQ (r) experimentalResolver :: Schema IO -experimentalResolver = Schema - { query = queryType, mutation = Nothing, subscription = Nothing } +experimentalResolver = schema queryType where queryType = Out.ObjectType "Query" Nothing [] $ HashMap.singleton "experimentalField" diff --git a/tests/Test/FragmentSpec.hs b/tests/Test/FragmentSpec.hs index 8ee1ad2..4fecad8 100644 --- a/tests/Test/FragmentSpec.hs +++ b/tests/Test/FragmentSpec.hs @@ -67,8 +67,7 @@ sizeFieldType $ pure $ snd size toSchema :: Text -> (Text, Value) -> Schema IO -toSchema t (_, resolve) = Schema - { query = queryType, mutation = Nothing, subscription = Nothing } +toSchema t (_, resolve) = schema queryType where garmentType = Out.UnionType "Garment" Nothing [hatType, shirtType] typeNameField = Out.Field Nothing (Out.NamedScalarType string) mempty diff --git a/tests/Test/RootOperationSpec.hs b/tests/Test/RootOperationSpec.hs index ea89279..33b5d3b 100644 --- a/tests/Test/RootOperationSpec.hs +++ b/tests/Test/RootOperationSpec.hs @@ -23,11 +23,12 @@ hatType = Out.ObjectType "Hat" Nothing [] $ ValueResolver (Out.Field Nothing (Out.NamedScalarType int) mempty) $ pure $ Int 60 -schema :: Schema IO -schema = Schema +garmentSchema :: Schema IO +garmentSchema = Schema { query = Out.ObjectType "Query" Nothing [] hatFieldResolver , mutation = Just $ Out.ObjectType "Mutation" Nothing [] incrementFieldResolver , subscription = Nothing + , directives = HashMap.empty } where garment = pure $ Object $ HashMap.fromList @@ -57,7 +58,7 @@ spec = [ "circumference" .= (60 :: Int) ] ] - actual <- graphql schema querySource + actual <- graphql garmentSchema querySource actual `shouldResolveTo` expected it "chooses Mutation" $ do @@ -70,5 +71,5 @@ spec = $ object [ "incrementCircumference" .= (61 :: Int) ] - actual <- graphql schema querySource + actual <- graphql garmentSchema querySource actual `shouldResolveTo` expected diff --git a/tests/Test/StarWars/QuerySpec.hs b/tests/Test/StarWars/QuerySpec.hs index 8d744ab..f9b13d9 100644 --- a/tests/Test/StarWars/QuerySpec.hs +++ b/tests/Test/StarWars/QuerySpec.hs @@ -357,10 +357,10 @@ spec = describe "Star Wars Query Tests" $ do testQuery :: Text -> Aeson.Value -> Expectation testQuery q expected = - let Right (Right actual) = graphql schema q + let Right (Right actual) = graphql starWarsSchema q in Aeson.Object actual `shouldBe` expected testQueryParams :: Aeson.Object -> Text -> Aeson.Value -> Expectation testQueryParams f q expected = - let Right (Right actual) = graphqlSubs schema Nothing f q + let Right (Right actual) = graphqlSubs starWarsSchema Nothing f q in Aeson.Object actual `shouldBe` expected diff --git a/tests/Test/StarWars/Schema.hs b/tests/Test/StarWars/Schema.hs index 34a6a35..706d9b3 100644 --- a/tests/Test/StarWars/Schema.hs +++ b/tests/Test/StarWars/Schema.hs @@ -1,7 +1,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} module Test.StarWars.Schema - ( schema + ( starWarsSchema ) where import Control.Monad.Catch (MonadThrow(..), SomeException) @@ -17,12 +17,8 @@ import Prelude hiding (id) -- See https://github.com/graphql/graphql-js/blob/master/src/__tests__/starWarsSchema.js -schema :: Schema (Either SomeException) -schema = Schema - { query = queryType - , mutation = Nothing - , subscription = Nothing - } +starWarsSchema :: Schema (Either SomeException) +starWarsSchema = schema queryType where queryType = Out.ObjectType "Query" Nothing [] $ HashMap.fromList [ ("hero", heroFieldResolver) -- cgit v1.2.3