public void OverrideName() { // arrange var descriptor = DirectiveTypeDescriptor.New <CustomDirective>(Context); // act descriptor.Name("Foo"); // assert DirectiveTypeDefinition description = descriptor.CreateDefinition(); Assert.Equal("Foo", description.Name); }
public void DeclareArgumentWithProperty() { // arrange // act var descriptor = DirectiveTypeDescriptor.New <CustomDirective>(Context); // assert DirectiveTypeDefinition description = descriptor.CreateDefinition(); Assert.Collection(description.Arguments, t => Assert.Equal("fieldA", t.Name), t => Assert.Equal("fieldB", t.Name)); }
public void Ignore_ExpressionIsNull_ArgumentNullException() { // arrange DirectiveTypeDescriptor <CustomDirective2> descriptor = DirectiveTypeDescriptor.New <CustomDirective2>( DescriptorContext.Create()); // act Action action = () => DirectiveTypeDescriptorExtensions .Ignore(descriptor, null); // assert Assert.Throws <ArgumentNullException>(action); }
public void IgnoreArgumentBinding() { // arrange var descriptor = DirectiveTypeDescriptor.New <CustomDirective>(Context); // act descriptor.Argument(t => t.FieldA).Ignore(); // assert DirectiveTypeDefinition description = descriptor.CreateDefinition(); Assert.Collection(description.Arguments, t => Assert.Equal("fieldB", t.Name)); }
public void DeclareExplicitArgumentBinding() { // arrange var descriptor = DirectiveTypeDescriptor.New <CustomDirective>(Context); // act descriptor.BindArguments(BindingBehavior.Explicit); descriptor.Argument(t => t.FieldA); // assert DirectiveTypeDefinition description = descriptor.CreateDefinition(); Assert.Collection(description.Arguments, t => Assert.Equal("fieldA", t.Name)); }
public void DeclareLocation() { // arrange var descriptor = DirectiveTypeDescriptor.New(Context); // act descriptor.Location(DirectiveLocation.Enum); descriptor.Location(DirectiveLocation.Enum); descriptor.Location(DirectiveLocation.EnumValue); // assert DirectiveTypeDefinition description = descriptor.CreateDefinition(); Assert.Collection(description.Locations, t => Assert.Equal(DirectiveLocation.Enum, t), t => Assert.Equal(DirectiveLocation.EnumValue, t)); }
public void DeclareArgumentAndSpecifyClrType() { // arrange var descriptor = DirectiveTypeDescriptor.New <CustomDirective>(Context); // act descriptor.Argument(t => t.FieldA).Type(typeof(NonNullType <StringType>)); // assert DirectiveTypeDefinition description = descriptor.CreateDefinition(); Assert.Collection(description.Arguments, t => Assert.Equal( typeof(NonNullType <StringType>), Assert.IsType <ExtendedTypeReference>(t.Type).Type.Source), t => Assert.Equal( typeof(string), Assert.IsType <ExtendedTypeReference>(t.Type).Type.Source)); }