public async Task ShouldNotUpdateAsValidationInValid() { var viewModel = new UpdateNativeMobileFirstViewModel(); var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.ToDictionary()).Returns(new Dictionary <string, string> { { "mobile-first-design", "required" }, }); validationModel.Setup(s => s.IsValid).Returns(false); Expression <Func <UpdateSolutionNativeMobileFirstCommand, bool> > match = c => c.SolutionId == SolutionId && c.MobileFirstDesign == viewModel.MobileFirstDesign; mockMediator .Setup(m => m.Send(It.Is(match), It.IsAny <CancellationToken>())) .ReturnsAsync(validationModel.Object); var result = await nativeMobileFirstController.UpdateMobileFirstAsync(SolutionId, viewModel) 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["mobile-first-design"].Should().Be("required"); mockMediator.Verify(m => m.Send(It.Is(match), It.IsAny <CancellationToken>())); }
public async Task ShouldNotUpdateAsValidationInValid() { var viewModel = new UpdateNativeMobileFirstViewModel(); var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.ToDictionary()).Returns(new Dictionary <string, string> { { "mobile-first-design", "required" } }); validationModel.Setup(s => s.IsValid).Returns(false); _mockMediator .Setup(m => m.Send( It.Is <UpdateSolutionNativeMobileFirstCommand>(q => q.SolutionId == SolutionId && q.MobileFirstDesign == viewModel.MobileFirstDesign), It.IsAny <CancellationToken>())).ReturnsAsync(validationModel.Object); var result = await _nativeMobileFirstController.UpdateMobileFirstAsync(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["mobile-first-design"].Should().Be("required"); _mockMediator.Verify( m => m.Send( It.Is <UpdateSolutionNativeMobileFirstCommand>(q => q.SolutionId == SolutionId && q.MobileFirstDesign == viewModel.MobileFirstDesign), It.IsAny <CancellationToken>()), Times.Once); }
public async Task ShouldUpdateValidationValid() { var model = new UpdateNativeMobileFirstViewModel(); var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.IsValid).Returns(true); Expression <Func <UpdateSolutionNativeMobileFirstCommand, bool> > match = c => c.SolutionId == SolutionId && c.MobileFirstDesign == model.MobileFirstDesign; mockMediator .Setup(m => m.Send(It.Is(match), It.IsAny <CancellationToken>())) .ReturnsAsync(validationModel.Object); var result = await nativeMobileFirstController.UpdateMobileFirstAsync(SolutionId, model) 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 ShouldUpdateValidationValid() { var viewModel = new UpdateNativeMobileFirstViewModel(); var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.IsValid).Returns(true); _mockMediator .Setup(m => m.Send( It.Is <UpdateSolutionNativeMobileFirstCommand>(q => q.SolutionId == SolutionId && q.MobileFirstDesign == viewModel.MobileFirstDesign), It.IsAny <CancellationToken>())).ReturnsAsync(validationModel.Object); var result = await _nativeMobileFirstController.UpdateMobileFirstAsync(SolutionId, viewModel).ConfigureAwait(false) as NoContentResult; result.StatusCode.Should().Be((int)HttpStatusCode.NoContent); _mockMediator.Verify( m => m.Send( It.Is <UpdateSolutionNativeMobileFirstCommand>(q => q.SolutionId == SolutionId && q.MobileFirstDesign == viewModel.MobileFirstDesign), It.IsAny <CancellationToken>()), Times.Once); }
public async Task <ActionResult> UpdateMobileFirstAsync([FromRoute][Required] string id, [FromBody][Required] UpdateNativeMobileFirstViewModel viewModel) => (await _mediator.Send(new UpdateSolutionNativeMobileFirstCommand(id, viewModel?.MobileFirstDesign)).ConfigureAwait(false)).ToActionResult();
public async Task <ActionResult> UpdateMobileFirstAsync([Required] string id, UpdateNativeMobileFirstViewModel model) => (await mediator.Send(new UpdateSolutionNativeMobileFirstCommand(id, model?.MobileFirstDesign))).ToActionResult();