diff options
| author | Eugen Wissner <belka@caraus.de> | 2020-09-09 17:04:31 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2020-09-09 17:04:31 +0200 |
| commit | c2c57b636392ae67a118ce5be04ad8f4b1304ed5 (patch) | |
| tree | 317992e1bcca871e7b31dd8d131a67cba6d98152 /tests | |
| parent | f6ff0ab9c785273e3ceeac6b9d636c5ec519a008 (diff) | |
| download | graphql-c2c57b636392ae67a118ce5be04ad8f4b1304ed5.tar.gz | |
Validate all fragments are used
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/Language/GraphQL/AST/EncoderSpec.hs | 2 | ||||
| -rw-r--r-- | tests/Language/GraphQL/ValidateSpec.hs | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/tests/Language/GraphQL/AST/EncoderSpec.hs b/tests/Language/GraphQL/AST/EncoderSpec.hs index 85add18..9326fd1 100644 --- a/tests/Language/GraphQL/AST/EncoderSpec.hs +++ b/tests/Language/GraphQL/AST/EncoderSpec.hs @@ -124,7 +124,7 @@ spec = do let arguments = [Argument "message" (String "line1\nline2")] field = Field Nothing "field" arguments [] [] $ Location 0 0 operation = DefinitionOperation - $ SelectionSet (pure field) + $ SelectionSet (pure $ FieldSelection field) $ Location 0 0 in definition pretty operation `shouldBe` [r|{ field(message: """ diff --git a/tests/Language/GraphQL/ValidateSpec.hs b/tests/Language/GraphQL/ValidateSpec.hs index a95c4d6..10b6688 100644 --- a/tests/Language/GraphQL/ValidateSpec.hs +++ b/tests/Language/GraphQL/ValidateSpec.hs @@ -373,3 +373,23 @@ spec = , path = [] } in validate queryString `shouldBe` Seq.singleton expected + + it "rejects unused fragments" $ + let queryString = [r| + fragment nameFragment on Dog { # unused + name + } + + { + dog { + name + } + } + |] + expected = Error + { message = + "Fragment \"nameFragment\" is never used." + , locations = [AST.Location 2 15] + , path = [] + } + in validate queryString `shouldBe` Seq.singleton expected |
