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);
        }
Beispiel #2
0
        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>()));
        }
Beispiel #3
0
        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();
Beispiel #6
0
 public async Task <ActionResult> Update([FromRoute][Required] string id,
                                         [FromBody][Required] UpdateCapabilitiesViewModel viewModel) =>
 (await _mediator.Send(new UpdateCapabilitiesCommand(id, viewModel?.NewCapabilitiesReferences))
  .ConfigureAwait(false)).ToActionResult();