public async Task ShouldUpdateValidationValid() { var viewModel = new UpdateSolutionMemoryAndStorageRequest(); var validationModel = new RequiredMaxLengthResult(); _mockMediator .Setup(m => m.Send( It.Is <UpdateSolutionMobileMemoryStorageCommand>(q => q.Id == SolutionId && q.MinimumMemoryRequirement == viewModel.MinimumMemoryRequirement && q.Description == viewModel.Description), It.IsAny <CancellationToken>())) .ReturnsAsync(validationModel); var result = (await _memoryAndStorageController.UpdateMemoryAndStorageAsync(SolutionId, viewModel) .ConfigureAwait(false)) as NoContentResult; result?.StatusCode.Should().Be((int)HttpStatusCode.NoContent); _mockMediator.Verify( m => m.Send( It.Is <UpdateSolutionMobileMemoryStorageCommand>(q => q.Id == SolutionId && q.MinimumMemoryRequirement == viewModel.MinimumMemoryRequirement && q.Description == viewModel.Description), It.IsAny <CancellationToken>()), Times.Once); }
public async Task ShouldUpdateValidationInvalid() { var viewModel = new UpdateSolutionMemoryAndStorageRequest(); var validationModel = new RequiredMaxLengthResult() { Required = { "minimum-memory-requirement", "storage-requirements-description" }, MaxLength = { "storage-requirements-description" } }; _mockMediator.Setup(m => m.Send( It.Is <UpdateSolutionMobileMemoryStorageCommand>(q => q.Id == SolutionId && q.MinimumMemoryRequirement == viewModel.MinimumMemoryRequirement && q.Description == viewModel.Description), It.IsAny <CancellationToken>())).ReturnsAsync(validationModel); var result = (await _memoryAndStorageController.UpdateMemoryAndStorageAsync(SolutionId, viewModel).ConfigureAwait(false)) as BadRequestObjectResult; result.StatusCode.Should().Be((int)HttpStatusCode.BadRequest); (result.Value as UpdateFormRequiredMaxLengthResult).Required.Should().BeEquivalentTo(new[] { "minimum-memory-requirement", "storage-requirements-description" }); (result.Value as UpdateFormRequiredMaxLengthResult).MaxLength.Should().BeEquivalentTo(new[] { "storage-requirements-description" }); _mockMediator.Verify( m => m.Send( It.Is <UpdateSolutionMobileMemoryStorageCommand>(q => q.Id == SolutionId && q.MinimumMemoryRequirement == viewModel.MinimumMemoryRequirement && q.Description == viewModel.Description), It.IsAny <CancellationToken>()), Times.Once); }
public async Task <ActionResult> UpdateMemoryAndStorageAsync( [Required] string id, UpdateSolutionMemoryAndStorageRequest model) => (await mediator.Send(new UpdateSolutionMobileMemoryStorageCommand( id, model?.MinimumMemoryRequirement, model?.Description))).ToActionResult();
public async Task ShouldUpdateValidationInvalid() { var viewModel = new UpdateSolutionMemoryAndStorageRequest(); var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.ToDictionary()).Returns(new Dictionary <string, string> { { "minimum-memory-requirement", "required" }, { "storage-requirements-description", "maxLength" } }); validationModel.Setup(s => s.IsValid).Returns(false); _mockMediator.Setup(m => m.Send( It.Is <UpdateSolutionMobileMemoryStorageCommand>(q => q.Id == SolutionId && q.MinimumMemoryRequirement == viewModel.MinimumMemoryRequirement && q.Description == viewModel.Description), It.IsAny <CancellationToken>())).ReturnsAsync(validationModel.Object); var result = (await _memoryAndStorageController.UpdateMemoryAndStorageAsync(SolutionId, viewModel).ConfigureAwait(false)) as BadRequestObjectResult; result.StatusCode.Should().Be((int)HttpStatusCode.BadRequest); var validationResult = result.Value as Dictionary <string, string>; validationResult.Count.Should().Be(2); validationResult["minimum-memory-requirement"].Should().Be("required"); validationResult["storage-requirements-description"].Should().Be("maxLength"); _mockMediator.Verify( m => m.Send( It.Is <UpdateSolutionMobileMemoryStorageCommand>(q => q.Id == SolutionId && q.MinimumMemoryRequirement == viewModel.MinimumMemoryRequirement && q.Description == viewModel.Description), It.IsAny <CancellationToken>()), Times.Once); }
public async Task ShouldUpdateValidationValid() { var model = new UpdateSolutionMemoryAndStorageRequest(); var validationModel = new Mock <ISimpleResult>(); validationModel.Setup(s => s.IsValid).Returns(true); Expression <Func <UpdateSolutionMobileMemoryStorageCommand, bool> > match = c => c.Id == SolutionId && c.MinimumMemoryRequirement == model.MinimumMemoryRequirement && c.Description == model.Description; mockMediator .Setup(m => m.Send(It.Is(match), It.IsAny <CancellationToken>())) .ReturnsAsync(validationModel.Object); var result = await memoryAndStorageController.UpdateMemoryAndStorageAsync( 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 ShouldUpdateValidationInvalid() { var model = new UpdateSolutionMemoryAndStorageRequest(); var validationModel = new Mock <ISimpleResult>(); validationModel .Setup(s => s.ToDictionary()) .Returns(new Dictionary <string, string> { { "minimum-memory-requirement", "required" }, { "storage-requirements-description", "maxLength" }, }); validationModel.Setup(s => s.IsValid).Returns(false); Expression <Func <UpdateSolutionMobileMemoryStorageCommand, bool> > match = c => c.Id == SolutionId && c.MinimumMemoryRequirement == model.MinimumMemoryRequirement && c.Description == model.Description; mockMediator .Setup(m => m.Send(It.Is(match), It.IsAny <CancellationToken>())) .ReturnsAsync(validationModel.Object); var result = await memoryAndStorageController.UpdateMemoryAndStorageAsync( SolutionId, model) as BadRequestObjectResult; Assert.NotNull(result); result.StatusCode.Should().Be(StatusCodes.Status400BadRequest); var validationResult = result.Value as Dictionary <string, string>; Assert.NotNull(validationResult); validationResult.Count.Should().Be(2); validationResult["minimum-memory-requirement"].Should().Be("required"); validationResult["storage-requirements-description"].Should().Be("maxLength"); mockMediator.Verify(m => m.Send(It.Is(match), It.IsAny <CancellationToken>())); }
public async Task <ActionResult> UpdateMemoryAndStorageAsync([FromRoute][Required] string id, [FromBody][Required] UpdateSolutionMemoryAndStorageRequest viewModel) => (await _mediator.Send(new UpdateSolutionMobileMemoryStorageCommand(id, viewModel?.MinimumMemoryRequirement, viewModel?.Description)).ConfigureAwait(false)).ToActionResult();