public void ValidateRequestMiddleware_NullContext_ThrowsException()
        {
            var component = new ValidateQueryRequestMiddleware();

            Assert.ThrowsAsync <GraphExecutionException>(() =>
            {
                return(component.InvokeAsync(null, EmptyNextDelegate, default));
            });
        }
        public async Task ValidateRequestMiddleware_EmptyQueryText_YieldsCriticalMessage()
        {
            var component = new ValidateQueryRequestMiddleware();
            var req       = new Mock <IGraphOperationRequest>();

            req.Setup(x => x.QueryText).Returns(null as string);
            var context = new GraphQueryExecutionContext(
                req.Object,
                new Mock <IServiceProvider>().Object);

            await component.InvokeAsync(context, EmptyNextDelegate, default);

            Assert.AreEqual(1, context.Messages.Count);
            Assert.AreEqual(GraphMessageSeverity.Critical, context.Messages[0].Severity);
            Assert.AreEqual(Constants.ErrorCodes.EXECUTION_ERROR, context.Messages[0].Code);
        }