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); }