public async Task ShouldUpdateValidationValid()
        {
            var model = new UpdateNativeDesktopOperatingSystemsViewModel
            {
                NativeDesktopOperatingSystemsDescription = "new description",
            };

            var validationModel = new Mock <ISimpleResult>();

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

            Expression <Func <UpdateSolutionNativeDesktopOperatingSystemsCommand, bool> > match = c =>
                                                                                                  c.SolutionId == SolutionId &&
                                                                                                  c.NativeDesktopOperatingSystemsDescription == model.NativeDesktopOperatingSystemsDescription;

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

            var result = await desktopOperatingSystemsController.UpdatedSupportedOperatingSystems(
                SolutionId,
                model) as NoContentResult;

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

            mockMediator.Verify(m => m.Send(It.Is(match), It.IsAny <CancellationToken>()));
        }
Exemple #2
0
        public async Task ShouldUpdateValidationInvalid()
        {
            var viewModel = new UpdateNativeDesktopOperatingSystemsViewModel {
                NativeDesktopOperatingSystemsDescription = "new description"
            };
            var validationModel = new Mock <ISimpleResult>();

            validationModel.Setup(s => s.ToDictionary()).Returns(new Dictionary <string, string> {
                { "operating-systems-description", "required" }
            });
            validationModel.Setup(s => s.IsValid).Returns(false);

            _mockMediator
            .Setup(m => m.Send(
                       It.Is <UpdateSolutionNativeDesktopOperatingSystemsCommand>(q => SolutionId == q.SolutionId &&
                                                                                  q.NativeDesktopOperatingSystemsDescription == viewModel.NativeDesktopOperatingSystemsDescription), It.IsAny <CancellationToken>()))
            .ReturnsAsync(validationModel.Object);

            var result = (await(_desktopOperatingSystemsController).UpdatedSupportedOperatingSystems(SolutionId, viewModel)
                          .ConfigureAwait(false)) as BadRequestObjectResult;

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

            _mockMediator.Verify(
                m => m.Send(
                    It.Is <UpdateSolutionNativeDesktopOperatingSystemsCommand>(q =>
                                                                               q.SolutionId == SolutionId &&
                                                                               q.NativeDesktopOperatingSystemsDescription == viewModel.NativeDesktopOperatingSystemsDescription),
                    It.IsAny <CancellationToken>()), Times.Once);
        }
        public async Task ShouldUpdateValidationInvalid()
        {
            var model = new UpdateNativeDesktopOperatingSystemsViewModel
            {
                NativeDesktopOperatingSystemsDescription = "new description",
            };

            var validationModel = new Mock <ISimpleResult>();

            validationModel.Setup(s => s.ToDictionary()).Returns(new Dictionary <string, string>
            {
                { "operating-systems-description", "required" },
            });

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

            Expression <Func <UpdateSolutionNativeDesktopOperatingSystemsCommand, bool> > match = c =>
                                                                                                  c.SolutionId == SolutionId &&
                                                                                                  c.NativeDesktopOperatingSystemsDescription == model.NativeDesktopOperatingSystemsDescription;

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

            var result = await desktopOperatingSystemsController.UpdatedSupportedOperatingSystems(
                SolutionId,
                model) as BadRequestObjectResult;

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

            mockMediator.Verify(m => m.Send(It.Is(match), It.IsAny <CancellationToken>()));
        }