public void OverwriteName() { // arrange var descriptor = new ObjectFieldDescriptor( "Field", typeof(ObjectField).GetProperty("Arguments"), typeof(IReadOnlyDictionary <string, InputField>)); // act ((IObjectFieldDescriptor)descriptor) .Name("args"); // assert Assert.Equal("args", descriptor.CreateDescription().Name); }
private static ObjectFieldDescription ExecuteConfigure( NameString fieldName, Action <IObjectFieldDescriptor> configure) { if (configure == null) { throw new ArgumentNullException(nameof(configure)); } var descriptor = new ObjectFieldDescriptor(fieldName); configure(descriptor); return(descriptor.CreateDescription()); }
public void OverwriteName() { // arrange var descriptor = new ObjectFieldDescriptor( typeof(ObjectField).GetProperty("Arguments"), typeof(ObjectField)); // act ((IObjectFieldDescriptor)descriptor) .Name("args"); // assert Assert.Equal("args", descriptor.CreateDescription().Name); }
public void SchemaTypesOverwriteDotNetTypes() { // arrange var descriptor = new ObjectFieldDescriptor("Type", "field"); // act ((IObjectFieldDescriptor)descriptor) .Type <NativeType <IReadOnlyDictionary <string, string> > >() .Type <ListType <StringType> >(); // assert ObjectFieldDescription description = descriptor.CreateDescription(); TypeReference typeRef = description.TypeReference; Assert.Equal(typeof(ListType <StringType>), typeRef.ClrType); }
public void SetDescription() { // arrange string expectedDescription = Guid.NewGuid().ToString(); var descriptor = new ObjectFieldDescriptor( typeof(ObjectField).GetProperty("Arguments"), typeof(ObjectField)); // act ((IObjectFieldDescriptor)descriptor) .Description(expectedDescription); // assert Assert.Equal(expectedDescription, descriptor.CreateDescription().Description); }
public void ResolverTypeIsSet() { // arrange var descriptor = new ObjectFieldDescriptor( typeof(ObjectField).GetProperty("Arguments"), typeof(ObjectField)); // act descriptor.ResolverType(typeof(string)); // assert ObjectFieldDescription description = descriptor.CreateDescription(); Assert.Equal(typeof(ObjectField), description.SourceType); Assert.Equal(typeof(string), description.ResolverType); }
public void SourceTypeIsSet() { // arrange var descriptor = new ObjectFieldDescriptor( typeof(ObjectField).GetProperty("Arguments"), typeof(ObjectField)); // act ((IObjectFieldDescriptor)descriptor) .Name("args"); // assert ObjectFieldDescription description = descriptor.CreateDescription(); Assert.Equal(typeof(ObjectField), description.SourceType); }
public void ResolverTypesDoNotOverwriteSchemaTypes() { // arrange var descriptor = new ObjectFieldDescriptor( typeof(ObjectField).GetProperty("Arguments"), typeof(ObjectField)); // act ((IObjectFieldDescriptor)descriptor) .Name("args") .Type <NonNullType <ListType <NonNullType <__InputValue> > > >() .Resolver(c => c.Parent <ObjectField>().Arguments); // assert ObjectFieldDescription description = descriptor.CreateDescription(); TypeReference typeRef = description.TypeReference; Assert.Equal(typeof(NonNullType <ListType <NonNullType <__InputValue> > >), typeRef.ClrType); }
public void SetResolverAndInferTypeIsAlwaysRecognosedAsDotNetType() { // arrange var descriptor = new ObjectFieldDescriptor( typeof(ObjectField).GetProperty("Arguments"), typeof(ObjectField)); // act ((IObjectFieldDescriptor)descriptor) .Type <__Type>() .Resolver(ctx => ctx.Schema .GetType <INamedType>(ctx.Argument <string>("type"))); // assert ObjectFieldDescription description = descriptor.CreateDescription(); Assert.Equal(typeof(__Type), description.TypeReference.ClrType); Assert.NotNull(description.Resolver); }
public void SetResolverAndInferTypeFromResolver() { // arrange var descriptor = new ObjectFieldDescriptor( "Field", typeof(ObjectField).GetProperty("Arguments"), typeof(IReadOnlyDictionary <string, InputField>)); // act ((IObjectFieldDescriptor)descriptor) .Resolver(() => "ThisIsAString"); // assert ObjectFieldDescription description = descriptor.CreateDescription(); Assert.Equal(typeof(NativeType <string>), description.TypeReference.NativeType); Assert.NotNull(description.Resolver); Mock <IResolverContext> context = new Mock <IResolverContext>(MockBehavior.Strict); Assert.Equal("ThisIsAString", description.Resolver(context.Object, default)); }