public async Task RootValueIsRegisterdAsService() { // arrange var services = new DictionaryServiceProvider( typeof(DisposableQuery), new DisposableQuery()); Schema schema = Schema.Create(c => { c.RegisterQueryType <DisposableQuery>(); }); var request = new QueryRequest("{ isDisposable }"); var context = new QueryContext ( schema, MiddlewareTools.CreateRequestServiceScope(services), request, fs => fs.Field.Middleware ); context.Document = Parser.Default.Parse(request.Query); var middleware = new ResolveOperationMiddleware( c => Task.CompletedTask, null); // act await middleware.InvokeAsync(context); // assert DisposableQuery query = Assert.IsType <DisposableQuery>( context.Operation.RootValue); Assert.False(query.IsDisposed); }
public async Task ProvidedRootValueTakesPrecedenceOverService() { // arrange var services = new DictionaryServiceProvider( typeof(DisposableQuery), new DisposableQuery()); var schema = Schema.Create(c => { c.RegisterQueryType <DisposableQuery>(); }); var rootValue = new DisposableQuery(); var sourceText = "{ isDisposable }"; var request = QueryRequestBuilder.New() .SetQuery(sourceText) .SetInitialValue(rootValue) .Create(); var context = new QueryContext ( schema, MiddlewareTools.CreateRequestServiceScope(services), request, (f, s) => f.Middleware ); context.Document = Utf8GraphQLParser.Parse(sourceText); context.QueryKey = "foo"; var middleware = new ResolveOperationMiddleware( c => Task.CompletedTask, null); // act await middleware.InvokeAsync(context); // assert Assert.True(object.ReferenceEquals( rootValue, context.Operation.RootValue)); }
public async Task RootValueIsRegisterdAsService() { // arrange var services = new DictionaryServiceProvider( typeof(DisposableQuery), new DisposableQuery()); var schema = Schema.Create(c => { c.RegisterQueryType <DisposableQuery>(); }); var sourceText = "{ isDisposable }"; var request = QueryRequestBuilder.New() .SetQuery(sourceText) .Create(); var context = new QueryContext ( schema, MiddlewareTools.CreateRequestServiceScope(services), request, (f, s) => f.Middleware ); context.Document = Utf8GraphQLParser.Parse(sourceText); context.QueryKey = "foo"; var middleware = new ResolveOperationMiddleware( c => Task.CompletedTask, null); // act await middleware.InvokeAsync(context); // assert DisposableQuery query = Assert.IsType <DisposableQuery>( context.Operation.RootValue); Assert.False(query.IsDisposed); }
public async Task ProvidedRootValueTakesPrecedenceOverService() { // arrange var services = new DictionaryServiceProvider( typeof(DisposableQuery), new DisposableQuery()); Schema schema = Schema.Create(c => { c.RegisterQueryType <DisposableQuery>(); }); var rootValue = new DisposableQuery(); var request = new QueryRequest("{ isDisposable }") { InitialValue = rootValue }; var context = new QueryContext ( schema, MiddlewareTools.CreateRequestServiceScope(services), request, fs => fs.Field.Middleware ); context.Document = Parser.Default.Parse(request.Query); var middleware = new ResolveOperationMiddleware( c => Task.CompletedTask, null); // act await middleware.InvokeAsync(context); // assert Assert.True(object.ReferenceEquals( rootValue, context.Operation.RootValue)); }