예제 #1
0
        public async Task ShouldUpdateValidationValidAsync()
        {
            HashSet <ClaimedEpicViewModel> claimedEpics = new HashSet <ClaimedEpicViewModel>
            {
                new()
                {
                    EpicId     = "Epic1",
                    StatusName = "Passed",
                },
            };

            var viewModel = new UpdateEpicsViewModel {
                ClaimedEpics = claimedEpics
            };
            var validationModel = new Mock <ISimpleResult>();

            validationModel.Setup(s => s.IsValid).Returns(true);

            mockMediator
            .Setup(m => m.Send(It.IsAny <UpdateClaimedEpicsCommand>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(validationModel.Object);

            var result = await controller.UpdateAsync(SolutionId, viewModel) as NoContentResult;

            Assert.NotNull(result);
            result.StatusCode.Should().Be(StatusCodes.Status204NoContent);

            mockMediator.Verify(m => m.Send(
                                    It.Is <UpdateClaimedEpicsCommand>(e => e.SolutionId == SolutionId),
                                    It.IsAny <CancellationToken>()));
        }
예제 #2
0
        public async Task ShouldUpdateValidationValidAsync()
        {
            HashSet <ClaimedEpicViewModel> claimedEpics = new HashSet <ClaimedEpicViewModel>()
            {
                new ClaimedEpicViewModel()
                {
                    EpicId     = "Epic1",
                    StatusName = "Passed"
                }
            };

            var viewModel = new UpdateEpicsViewModel {
                ClaimedEpics = claimedEpics
            };
            var validationModel = new Mock <ISimpleResult>();

            validationModel.Setup(s => s.IsValid).Returns(true);

            _mockMediator
            .Setup(m => m.Send(It.IsAny <UpdateClaimedEpicsCommand>(),
                               It.IsAny <CancellationToken>())).ReturnsAsync(validationModel.Object);

            var result = (await _controller.UpdateAsync(SolutionId, viewModel).ConfigureAwait(false)) as NoContentResult;

            result.StatusCode.Should().Be((int)HttpStatusCode.NoContent);

            _mockMediator.Verify(
                m => m.Send(It.Is <UpdateClaimedEpicsCommand>(e => e.SolutionId == SolutionId),
                            It.IsAny <CancellationToken>()), Times.Once);
        }
예제 #3
0
        public async Task ShouldUpdateValidationInvalid()
        {
            HashSet <ClaimedEpicViewModel> claimedEpics = new HashSet <ClaimedEpicViewModel>
            {
                new()
                {
                    EpicId     = "Test",
                    StatusName = "Unknown",
                },
            };

            var viewModel = new UpdateEpicsViewModel {
                ClaimedEpics = claimedEpics
            };
            var validationModel = new Mock <ISimpleResult>();

            validationModel.Setup(s => s.ToDictionary()).Returns(new Dictionary <string, string>
            {
                { "epics", "epicsInvalid" },
            });

            validationModel.Setup(s => s.IsValid).Returns(false);

            mockMediator
            .Setup(m => m.Send(It.IsAny <UpdateClaimedEpicsCommand>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(validationModel.Object);

            var result = await controller.UpdateAsync(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["epics"].Should().Be("epicsInvalid");

            mockMediator.Verify(m => m.Send(
                                    It.Is <UpdateClaimedEpicsCommand>(e => e.SolutionId == SolutionId),
                                    It.IsAny <CancellationToken>()));
        }
 public async Task<ActionResult> UpdateAsync([FromRoute] [Required] string id,
     [FromBody] [Required] UpdateEpicsViewModel viewModel) =>
     (await _mediator.Send(new UpdateClaimedEpicsCommand(id, viewModel?.ClaimedEpics))
         .ConfigureAwait(false)).ToActionResult();
 public async Task <ActionResult> UpdateAsync([Required] string id, UpdateEpicsViewModel model) =>
 (await mediator.Send(new UpdateClaimedEpicsCommand(id, model?.ClaimedEpics))).ToActionResult();