From a91bc7f2d218ea2df308d3968587b60351625150 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sun, 4 Oct 2020 18:51:21 +0200 Subject: Validate required input fields --- tests/Language/GraphQL/ValidateSpec.hs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'tests/Language') diff --git a/tests/Language/GraphQL/ValidateSpec.hs b/tests/Language/GraphQL/ValidateSpec.hs index 60e717a..92b3001 100644 --- a/tests/Language/GraphQL/ValidateSpec.hs +++ b/tests/Language/GraphQL/ValidateSpec.hs @@ -594,7 +594,7 @@ spec = it "rejects undefined input object fields" $ let queryString = [r| { - findDog(complex: { favoriteCookieFlavor: "Bacon" }) { + findDog(complex: { favoriteCookieFlavor: "Bacon", name: "Jack" }) { name } } @@ -620,3 +620,19 @@ spec = , locations = [AST.Location 2 21] } in validate queryString `shouldBe` [expected] + + it "rejects missing required input fields" $ + let queryString = [r| + { + findDog(complex: { name: null }) { + name + } + } + |] + expected = Error + { message = + "Input field \"name\" of type \"DogData\" is required, \ + \but it was not provided." + , locations = [AST.Location 3 34] + } + in validate queryString `shouldBe` [expected] -- cgit v1.2.3