public void Execute_CustomDirective_ResolvesCorrectly() { var schema = new TestSchema(); dynamic result = schema.Execute("{ foo @onField }"); Assert.AreEqual("replacedByDirective", result.data.foo); }
public void ResolvesCatModelForTwoFragments() { var schema = new TestSchema(); var result = schema.Execute(@" { animal { __typename ... on Cat { id name whatDoesTheCatSay } ... on Dog { id name whatDoesTheDogSay } } } "); Assert.AreEqual("Cat", result.data.animal.__typename); Assert.AreEqual(1, result.data.animal.id); Assert.AreEqual("Mourek", result.data.animal.name); Assert.AreEqual("Meow", result.data.animal.whatDoesTheCatSay); }
public void CorrectlyIntrospectsUnionType() { /* * kind must return __TypeKind.UNION. * name must return a String. * description may return a String or null. * possibleTypes returns the list of types that can be represented within this union. They must be object types. * All other fields must return null. */ var schema = new TestSchema(); var result = schema.Execute(@" { __type(name: " + "\"TestUnion\"" + @") { name description kind possibleTypes { name } interfaces { name } fields { name } inputFields { name } ofType { name } } } "); Assert.AreEqual("TestUnion", result.data.__type.name); Assert.AreEqual("Some union description", result.data.__type.description); Assert.AreEqual("UNION", result.data.__type.kind); Assert.AreEqual("Dog", ((IEnumerable <dynamic>)result.data.__type.possibleTypes).ElementAt(0).name); Assert.AreEqual("Cat", ((IEnumerable <dynamic>)result.data.__type.possibleTypes).ElementAt(1).name); Assert.IsNull(result.data.__type.interfaces); Assert.IsNull(result.data.__type.fields); Assert.IsNull(result.data.__type.inputFields); Assert.IsNull(result.data.__type.ofType); }
public void CanReturnDataFromResolver() { var schema = new TestSchema(); var result = schema.Execute(@" { animal { __typename ... on Cat { id name whatDoesTheCatSay } } } "); Assert.AreEqual("Cat", result.data.animal.__typename); Assert.AreEqual(1, result.data.animal.id); Assert.AreEqual("Mourek", result.data.animal.name); Assert.AreEqual("Meow", result.data.animal.whatDoesTheCatSay); }
public void ResolvesUnknownTypeToNull() { var schema = new TestSchema(); var result = schema.Execute(@" { unionReturningInvalidType { __typename ... on Cat { id name whatDoesTheCatSay } ... on Dog { id name whatDoesTheDogSay } } } "); Assert.AreEqual(null, result.data.unionReturningInvalidType); }