public async Task ShouldUpdateValidationValid() { const string expected = "a description"; var model = new UpdateRoadMapViewModel { Summary = expected }; var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.IsValid).Returns(true); mockMediator .Setup(m => m.Send( It.Is <UpdateRoadMapCommand>(c => c.SolutionId == SolutionId && c.Summary == expected), It.IsAny <CancellationToken>())) .ReturnsAsync(validationModel.Object); var result = await controller.Update(SolutionId, model) as NoContentResult; Assert.NotNull(result); result.StatusCode.Should().Be(StatusCodes.Status204NoContent); mockMediator.Verify(m => m.Send( It.Is <UpdateRoadMapCommand>(c => c.SolutionId == SolutionId && c.Summary == expected), It.IsAny <CancellationToken>())); }
public async Task ShouldUpdateValidationInvalid() { const string expected = "a description"; var model = new UpdateRoadMapViewModel { Summary = expected }; var validationModel = new Mock <ISimpleResult>(); validationModel .Setup(s => s.ToDictionary()) .Returns(new Dictionary <string, string> { { "description", "maxLength" } }); validationModel.Setup(s => s.IsValid).Returns(false); mockMediator .Setup(m => m.Send( It.Is <UpdateRoadMapCommand>(c => c.SolutionId == SolutionId), It.IsAny <CancellationToken>())) .ReturnsAsync(validationModel.Object); var result = await controller.Update(SolutionId, model) as BadRequestObjectResult; Assert.NotNull(result); result.StatusCode.Should().Be(StatusCodes.Status400BadRequest); var resultValue = result.Value as Dictionary <string, string>; Assert.NotNull(resultValue); resultValue.Count.Should().Be(1); resultValue["description"].Should().Be("maxLength"); mockMediator.Verify(m => m.Send( It.Is <UpdateRoadMapCommand>(c => c.SolutionId == SolutionId && c.Summary == expected), It.IsAny <CancellationToken>())); }
public async Task <ActionResult> Update([Required] string id, UpdateRoadMapViewModel model) => (await mediator.Send(new UpdateRoadMapCommand(id, model?.Summary))).ToActionResult();