public void ObjectFieldDeprecationReason() { // arrange ObjectTypeDefinitionNode typeDefinition = CreateTypeDefinition <ObjectTypeDefinitionNode>(@" type Simple { a: String @deprecated(reason: ""reason123"") }"); // act var factory = new ObjectTypeFactory(); ObjectType type = factory.Create(typeDefinition); CompleteType(type); // assert Assert.True(type.Fields["a"].IsDeprecated); Assert.Equal("reason123", type.Fields["a"].DeprecationReason); }
public void CreateObjectType() { // arrange ObjectTypeDefinitionNode typeDefinition = CreateTypeDefinition <ObjectTypeDefinitionNode>(@" type Simple { a: String b: [String] }"); var resolverBinding = new FieldResolver( "Simple", "a", c => Task.FromResult <object>("hello")); // act var factory = new ObjectTypeFactory(); ObjectType type = factory.Create(typeDefinition); CompleteType(type, s => s.Resolvers.RegisterResolver(resolverBinding)); // assert Assert.Equal("Simple", type.Name); Assert.Equal(3, type.Fields.Count); Assert.True(type.Fields.ContainsField("a")); Assert.False(type.Fields["a"].Type.IsNonNullType()); Assert.False(type.Fields["a"].Type.IsListType()); Assert.True(type.Fields["a"].Type.IsScalarType()); Assert.Equal("String", type.Fields["a"].Type.TypeName()); Assert.True(type.Fields.ContainsField("b")); Assert.False(type.Fields["b"].Type.IsNonNullType()); Assert.True(type.Fields["b"].Type.IsListType()); Assert.False(type.Fields["b"].Type.IsScalarType()); Assert.Equal("String", type.Fields["b"].Type.TypeName()); Assert.Equal("hello", (type.Fields["a"] .Resolver(null).Result)); }
protected override void VisitObjectTypeDefinition( ObjectTypeDefinitionNode node) { _typeRegistry.RegisterType(_objectTypeFactory.Create(node)); }
/// <summary> /// Helper extension that allows you to easily capture the text value that was created. /// </summary> /// <param name="item">The instance of the object you would like to dump.</param> /// <returns>The ASCII representation of the object as generated by the DumpToText extension.</returns> public static string DumpAsString(this object item) { return(ObjectTypeFactory.Create(item).Value); }