From d327d9d1ce9670e51b7eef7a4272aaf3b6290228 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sat, 5 Sep 2020 10:00:58 +0200 Subject: Validate fragment spread type existence --- tests/Language/GraphQL/ValidateSpec.hs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'tests/Language/GraphQL/ValidateSpec.hs') diff --git a/tests/Language/GraphQL/ValidateSpec.hs b/tests/Language/GraphQL/ValidateSpec.hs index eef5d38..990555e 100644 --- a/tests/Language/GraphQL/ValidateSpec.hs +++ b/tests/Language/GraphQL/ValidateSpec.hs @@ -300,7 +300,7 @@ spec = } in validate queryString `shouldBe` Seq.singleton expected - it "rejects the fragment spread without a target" $ + it "rejects fragment spreads without an unknown target type" $ let queryString = [r| { dog { @@ -319,3 +319,20 @@ spec = , path = [] } in validate queryString `shouldBe` Seq.singleton expected + + it "rejects inline fragments without a target" $ + let queryString = [r| + { + ... on NotInSchema { + name + } + } + |] + expected = Error + { message = + "Inline fragment is specified on type \"NotInSchema\" \ + \which doesn't exist in the schema." + , locations = [AST.Location 3 17] + , path = [] + } + in validate queryString `shouldBe` Seq.singleton expected -- cgit v1.2.3