public void AddQueryTypeDesc_ConfigureIsNull_ArgumentNullException() { // arrange var builder = new SchemaBuilder(); // act Action action = () => SchemaBuilderExtensions .AddQueryType(builder, (Action <IObjectTypeDescriptor>)null); // assert Assert.Throws <ArgumentNullException>(action); }
public void AddQueryTypeDescT_ConfigureQueryType_SchemaIsCreated() { // arrange var builder = new SchemaBuilder(); // act SchemaBuilderExtensions.AddQueryType <Foo>(builder, t => t.Name("Foo").Field(f => f.Bar).Resolver("result")); // assert builder.Create().ToString().MatchSnapshot(); }
public void AddDocumentFromFile_File_Is_Null() { // arrange var builder = SchemaBuilder.New(); // act Action action = () => SchemaBuilderExtensions.AddDocumentFromFile(builder, null); // assert Assert.Throws <ArgumentException>(action); }
public void AddDirectiveType_TypeIsNull_ArgumentNullException() { // arrange var builder = new SchemaBuilder(); // act Action action = () => SchemaBuilderExtensions.AddDirectiveType(builder, (Type)null); // assert Assert.Throws <ArgumentNullException>(action); }
public void SetSchema_BuilderIsNull_ArgumentException() { // arrange var builder = new SchemaBuilder(); // act Action action = () => SchemaBuilderExtensions.SetSchema <MySchema>(null); // assert Assert.Throws <ArgumentNullException>(action); }
public void AddSubscriptionTypeObjectType_TypeIsNull_ArgNullException() { // arrange var builder = new SchemaBuilder(); // act Action action = () => SchemaBuilderExtensions .AddMutationType(builder, (ObjectType)null); // assert Assert.Throws <ArgumentNullException>(action); }
public void AddDirectiveType_TypeIsDirectiveTypeFoo_ArgumentException() { // arrange var builder = new SchemaBuilder(); // act Action action = () => SchemaBuilderExtensions.AddDirectiveType( builder, typeof(DirectiveType <Foo>)); // assert Assert.Throws <ArgumentException>(action); }
public void AddMutationTypeObjectType_TypeIsFooType_SchemaIsCreated() { // arrange var builder = new SchemaBuilder(); builder.AddQueryType <QueryType>(); // act SchemaBuilderExtensions.AddMutationType(builder, new FooType()); // assert builder.Create().ToString().MatchSnapshot(); }
public void AddDirectiveType_TypeIsMyDirectiveType_SchemaIsValid() { // arrange var builder = new SchemaBuilder(); builder.AddQueryType <QueryType>(); // act SchemaBuilderExtensions.AddDirectiveType( builder, typeof(MyDirective)); // assert builder.Create().ToString().MatchSnapshot(); }
public void AddSubscriptionTypeType_TypeIsFooType_SchemaIsCreated() { // arrange var builder = new SchemaBuilder(); builder.AddQueryType <QueryType>(); // act SchemaBuilderExtensions.AddSubscriptionType( builder, typeof(FooType)); // assert builder.Create().ToString().MatchSnapshot(); }
public void AddMutationTypeDesc_ConfigureQueryType_SchemaIsCreated() { // arrange var builder = new SchemaBuilder(); builder.AddQueryType <QueryType>(); // act SchemaBuilderExtensions.AddMutationType(builder, t => t.Name("Foo").Field("bar").Resolve("result")); // assert builder.Create().ToString().MatchSnapshot(); }
public void AddEnumTypeT_With_Descriptor() { // arrange SchemaBuilder builder = SchemaBuilder.New(); // act SchemaBuilderExtensions.AddEnumType <MyEnum>( builder, d => d.BindValuesExplicitly().Value(MyEnum.A)); // assert builder .ModifyOptions(o => o.StrictValidation = false) .Create() .ToString() .MatchSnapshot(); }
public void AddEnumType_With_Descriptor() { // arrange SchemaBuilder builder = SchemaBuilder.New(); // act SchemaBuilderExtensions.AddEnumType( builder, d => d.Name("Foo").Value("bar").Name("BAZ")); // assert builder .ModifyOptions(o => o.StrictValidation = false) .Create() .ToString() .MatchSnapshot(); }
public void AddResolverContextTaskObject_ResolverIsNull_ArgNullExcept() { // arrange var builder = new SchemaBuilder(); // act Action action = () => SchemaBuilderExtensions .AddResolver( builder, "A", "B", (Func <IResolverContext, Task <object> >)null); // assert Assert.Throws <ArgumentNullException>(action); }
public void AddInputObjectTypeT_With_Descriptor() { // arrange SchemaBuilder builder = SchemaBuilder.New(); // act SchemaBuilderExtensions.AddInputObjectType <Bar>( builder, d => d.Field("qux").Type <StringType>()); // assert builder .ModifyOptions(o => o.StrictValidation = false) .Create() .ToString() .MatchSnapshot(); }
public void AddResolverObject_BuilderIsNull_ArgNullExcept() { // arrange var builder = new SchemaBuilder(); // act Action action = () => SchemaBuilderExtensions .AddResolver( null, "A", "B", new Func <object>(() => "abc")); // assert Assert.Throws <ArgumentNullException>(action); }
public void AddInterfaceType_With_Descriptor() { // arrange SchemaBuilder builder = SchemaBuilder.New(); // act SchemaBuilderExtensions.AddInterfaceType( builder, d => d.Name("ABC").Field("abc").Type <StringType>()); // assert builder .ModifyOptions(o => o.StrictValidation = false) .Create() .ToString() .MatchSnapshot(); }
public void AddResolverContextTaskObject_BuilderIsNull_ArgNullExcept() { // arrange var builder = new SchemaBuilder(); // act Action action = () => SchemaBuilderExtensions .AddResolver( null, "A", "B", new Func <IResolverContext, Task <object> >( c => Task.FromResult(new object()))); // assert Assert.Throws <ArgumentNullException>(action); }
public void AddResolverContextTResult_BuilderIsNull_ArgNullExcept() { // arrange var builder = new SchemaBuilder(); // act Action action = () => SchemaBuilderExtensions .AddResolver( null, "A", "B", new Func <IResolverContext, string>( c => "abc")); // assert Assert.Throws <ArgumentNullException>(action); }
public async Task AddDocumentFromFile() { // arrange var builder = SchemaBuilder.New(); string file = IOPath.GetTempFileName(); await File.WriteAllTextAsync(file, "type Query { a: String }"); // act SchemaBuilderExtensions.AddDocumentFromFile(builder, file); // assert ISchema schema = builder .Use(next => context => next.Invoke(context)) .Create(); schema.ToString().MatchSnapshot(); }
public void AddResolverContextObject_ResolveField() { // arrange var builder = new SchemaBuilder(); builder.AddDocumentFromString("type Query { foo: String }"); // act SchemaBuilderExtensions .AddResolver( builder, "Query", "foo", new Func <IResolverContext, object>(c => "bar")); // assert builder.Create() .MakeExecutable() .ExecuteAsync("{ foo }") .Result .MatchSnapshot(); }
public void AddUnionTypeT_With_Descriptor() { // arrange SchemaBuilder builder = SchemaBuilder.New(); builder.AddObjectType(d => d .Name("Foo") .Field("bar") .Type <StringType>() .Resolve("empty")); // act SchemaBuilderExtensions.AddUnionType <IMyInterface>( builder, d => d.Name("ABC").Type(new NamedTypeNode("Foo"))); // assert builder .ModifyOptions(o => o.StrictValidation = false) .Create() .ToString() .MatchSnapshot(); }
public async Task AddResolverObject_ResolveField() { // arrange Snapshot.FullName(); var builder = new SchemaBuilder(); builder.AddDocumentFromString("type Query { foo: String }"); // act SchemaBuilderExtensions .AddResolver( builder, "Query", "foo", new Func <object>(() => "bar")); // assert await builder.Create() .MakeExecutable() .ExecuteAsync("{ foo }") .MatchSnapshotAsync(); }
public async Task AddResolverContextTaskTResult_ResolveField() { // arrange Snapshot.FullName(); var builder = new SchemaBuilder(); builder.AddDocumentFromString("type Query { foo: String }"); // act SchemaBuilderExtensions .AddResolver( builder, "Query", "foo", new Func <IResolverContext, ValueTask <string> >( c => new ValueTask <string>("bar"))); // assert await builder.Create() .MakeExecutable() .ExecuteAsync("{ foo }") .MatchSnapshotAsync(); }