summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2020-08-28 08:32:21 +0200
committerEugen Wissner <belka@caraus.de>2020-08-28 08:32:21 +0200
commit7e78f98f090168fe8b315a5e9438e635afdf93a4 (patch)
treee7d374311710a4fc7372dacff40b244fd5b5b866 /tests
parenteebad8a27f164088e356e7936afb9a399c70363a (diff)
downloadgraphql-7e78f98f090168fe8b315a5e9438e635afdf93a4.tar.gz
Validate fragment name uniqueness
Diffstat (limited to 'tests')
-rw-r--r--tests/Language/GraphQL/ValidateSpec.hs26
1 files changed, 26 insertions, 0 deletions
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