summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2023-01-02 10:30:37 +0100
committerEugen Wissner <belka@caraus.de>2023-01-02 10:30:37 +0100
commit70dedb691120b44fe13cd22eab62928f872c468b (patch)
tree34298e5eaa566fadea7fa5768351103675ffb50d /tests
parenta96d4e6ef3b1020d239f0061af5861aadeb278fc (diff)
downloadgraphql-70dedb691120b44fe13cd22eab62928f872c468b.tar.gz
Encode interfaces (2018)
Diffstat (limited to 'tests')
-rw-r--r--tests/Language/GraphQL/AST/EncoderSpec.hs16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/Language/GraphQL/AST/EncoderSpec.hs b/tests/Language/GraphQL/AST/EncoderSpec.hs
index 6b424d5..862fa34 100644
--- a/tests/Language/GraphQL/AST/EncoderSpec.hs
+++ b/tests/Language/GraphQL/AST/EncoderSpec.hs
@@ -201,3 +201,19 @@ spec = do
expected = "scalar UUID"
actual = typeSystemDefinition pretty definition'
in actual `shouldBe` expected
+
+ it "encodes an interface definition" $
+ let someType = Full.TypeNamed "String"
+ argument = Full.InputValueDefinition mempty "arg" someType Nothing mempty
+ arguments = Full.ArgumentsDefinition [argument]
+ definition' = Full.TypeDefinition
+ $ Full.InterfaceTypeDefinition mempty "UUID" mempty
+ $ pure
+ $ Full.FieldDefinition mempty "value" arguments someType mempty
+ expected = [gql|
+ interface UUID {
+ value(arg: String): String
+ }
+ |]
+ actual = typeSystemDefinition pretty definition'
+ in actual `shouldBe` expected