From 7e78f98f090168fe8b315a5e9438e635afdf93a4 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Fri, 28 Aug 2020 08:32:21 +0200 Subject: Validate fragment name uniqueness --- tests/Language/GraphQL/ValidateSpec.hs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests/Language/GraphQL') diff --git a/tests/Language/GraphQL/ValidateSpec.hs b/tests/Language/GraphQL/ValidateSpec.hs index a547e21..8f6626b 100644 --- a/tests/Language/GraphQL/ValidateSpec.hs +++ b/tests/Language/GraphQL/ValidateSpec.hs @@ -255,3 +255,29 @@ spec = , path = [] } in validate queryString `shouldBe` Seq.singleton expected + + it "rejects fragments with the same name" $ + let queryString = [r| + { + dog { + ...fragmentOne + } + } + + fragment fragmentOne on Dog { + name + } + + fragment fragmentOne on Dog { + owner { + name + } + } + |] + expected = Error + { message = + "There can be only one fragment named \"fragmentOne\"." + , locations = [AST.Location 8 15, AST.Location 12 15] + , path = [] + } + in validate queryString `shouldBe` Seq.singleton expected -- cgit v1.2.3