summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
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