public async Task BadRequest_WithModelDictionary_RendersMessageOnResponse()
        {
            var server         = new TestServerBuilder().Build();
            var methodTemplate = TemplateHelper.CreateFieldTemplate <ActionableController>(nameof(ActionableController.DoStuff));
            var argTemplate    = methodTemplate.Arguments[0];
            var fieldArg       = new GraphArgumentMaker(server.Schema).CreateArgument(argTemplate).Argument;

            // name is marked required, will fail
            var dataItem = new ActionableModelItem()
            {
                Name = null,
                Id   = "5",
            };

            var arg = new ExecutionArgument(fieldArg, dataItem);
            var col = new ExecutionArgumentCollection();

            col.Add(arg);

            var generator       = new ModelStateGenerator();
            var modelDictionary = generator.CreateStateDictionary(col);

            var actionResult = new BadRequestGraphActionResult(modelDictionary);

            var context = this.CreateResolutionContext();
            await actionResult.Complete(context);

            Assert.IsNull(context.Result);
            Assert.IsTrue(context.Messages.Any(x => x.Code == Constants.ErrorCodes.BAD_REQUEST));
            Assert.IsTrue(context.Messages.Any(x => x.Code == Constants.ErrorCodes.MODEL_VALIDATION_ERROR));
        }
        public async Task BadRequest_WithMessage_RendersMessageOnResponse()
        {
            var actionResult = new BadRequestGraphActionResult("Test message");

            var context = this.CreateResolutionContext();
            await actionResult.Complete(context);

            Assert.IsNull(context.Result);
            Assert.AreEqual(1, context.Messages.Count);
            Assert.AreEqual("Test message", context.Messages[0].Message);
            Assert.AreEqual(Constants.ErrorCodes.BAD_REQUEST, context.Messages[0].Code);
        }