public async Task ShouldUpdateValidationValidAsync() { HashSet <string> newCapabilitiesReferences = new HashSet <string>() { "C1", "C2" }; var viewModel = new UpdateCapabilitiesViewModel { NewCapabilitiesReferences = newCapabilitiesReferences }; var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.IsValid).Returns(true); _mockMediator .Setup(m => m.Send( It.Is <UpdateCapabilitiesCommand>(q => q.SolutionId == SolutionId && q.NewCapabilitiesReferences == newCapabilitiesReferences), It.IsAny <CancellationToken>())).ReturnsAsync(validationModel.Object); var result = (await _controller.Update(SolutionId, viewModel).ConfigureAwait(false)) as NoContentResult; result.StatusCode.Should().Be((int)HttpStatusCode.NoContent); _mockMediator.Verify( m => m.Send( It.Is <UpdateCapabilitiesCommand>(q => q.SolutionId == SolutionId && q.NewCapabilitiesReferences == newCapabilitiesReferences), It.IsAny <CancellationToken>()), Times.Once); }
public async Task ShouldUpdateValidationValidAsync() { HashSet <string> newCapabilitiesReferences = new HashSet <string> { "C1", "C2" }; var viewModel = new UpdateCapabilitiesViewModel { NewCapabilitiesReferences = newCapabilitiesReferences }; var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.IsValid).Returns(true); Expression <Func <UpdateCapabilitiesCommand, bool> > match = c => c.SolutionId == SolutionId && c.NewCapabilitiesReferences == newCapabilitiesReferences; mockMediator .Setup(m => m.Send(It.Is(match), It.IsAny <CancellationToken>())) .ReturnsAsync(validationModel.Object); var result = await controller.Update(SolutionId, viewModel) as NoContentResult; Assert.NotNull(result); result.StatusCode.Should().Be(StatusCodes.Status204NoContent); mockMediator.Verify(m => m.Send(It.Is(match), It.IsAny <CancellationToken>())); }
public async Task ShouldUpdateValidationInvalid() { HashSet <string> newCapabilitiesReferences = new HashSet <string> { "C1", "C2" }; var model = new UpdateCapabilitiesViewModel { NewCapabilitiesReferences = newCapabilitiesReferences }; var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.ToDictionary()).Returns(new Dictionary <string, string> { { "capabilities", "capabilityInvalid" }, }); validationModel.Setup(s => s.IsValid).Returns(false); Expression <Func <UpdateCapabilitiesCommand, bool> > match = c => c.SolutionId == SolutionId && c.NewCapabilitiesReferences == newCapabilitiesReferences; mockMediator .Setup(m => m.Send(It.Is(match), 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["capabilities"].Should().Be("capabilityInvalid"); mockMediator.Verify(m => m.Send(It.Is(match), It.IsAny <CancellationToken>())); }
public async Task ShouldUpdateValidationInvalid() { HashSet <string> newCapabilitiesReferences = new HashSet <string>() { "C1", "C2" }; var viewModel = new UpdateCapabilitiesViewModel { NewCapabilitiesReferences = newCapabilitiesReferences }; var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.ToDictionary()).Returns(new Dictionary <string, string> { { "capabilities", "capabilityInvalid" } }); validationModel.Setup(s => s.IsValid).Returns(false); _mockMediator .Setup(m => m.Send( It.Is <UpdateCapabilitiesCommand>(q => q.SolutionId == SolutionId && q.NewCapabilitiesReferences == newCapabilitiesReferences), It.IsAny <CancellationToken>())).ReturnsAsync(validationModel.Object); var result = (await _controller.Update(SolutionId, viewModel).ConfigureAwait(false)) as BadRequestObjectResult; result.StatusCode.Should().Be((int)HttpStatusCode.BadRequest); var resultValue = result.Value as Dictionary <string, string>; resultValue.Count.Should().Be(1); resultValue["capabilities"].Should().Be("capabilityInvalid"); _mockMediator.Verify( m => m.Send( It.Is <UpdateCapabilitiesCommand>(q => q.SolutionId == SolutionId && q.NewCapabilitiesReferences == newCapabilitiesReferences), It.IsAny <CancellationToken>()), Times.Once); }
public async Task <ActionResult> Update([Required] string id, UpdateCapabilitiesViewModel model) => (await mediator.Send(new UpdateCapabilitiesCommand(id, model?.NewCapabilitiesReferences))).ToActionResult();
public async Task <ActionResult> Update([FromRoute][Required] string id, [FromBody][Required] UpdateCapabilitiesViewModel viewModel) => (await _mediator.Send(new UpdateCapabilitiesCommand(id, viewModel?.NewCapabilitiesReferences)) .ConfigureAwait(false)).ToActionResult();