public void WhenNewStartDateIsBeforeStopDate_ThenValidationFails(int?month, int?year)
        {
            var model = new WhatIsTheNewStartDateViewModel {
                NewStartMonth = month, NewStartYear = year, StopDate = _stopDate
            };

            AssertValidationResult(x => x.NewStartDate, model, false, NewStartDateBeforeStopDateError);
        }
        public void WhenInvalidMonthOrYearIsEntered_ThenValidationFails(int month, int year)
        {
            var model = new WhatIsTheNewStartDateViewModel {
                NewStartMonth = month, NewStartYear = year, StopDate = _stopDate
            };

            AssertValidationResult(x => x.NewStartDate, model, false, NotARealDateError);
        }
        public WhenRequestingTheWhatIsTheNewStartDatePageTestFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOfProviderRequest>();
            _viewModel = _autoFixture.Create <WhatIsTheNewStartDateViewModel>();

            _mockMapper.Setup(m => m.Map <WhatIsTheNewStartDateViewModel>(_request))
            .ReturnsAsync(_viewModel);
        }
        public void WhenNeitherMonthOrYearAreEntered_ThenValidationFails()
        {
            var model = new WhatIsTheNewStartDateViewModel {
                NewStartMonth = null, NewStartYear = null, StopDate = _stopDate
            };

            AssertValidationResult(x => x.NewStartDate, model, false, NoDateEnteredError);
        }
        public void WhenNewStartDateAfterCurrentAcademicEndDatePlusOneYear_ThenValidationFails()
        {
            var model = new WhatIsTheNewStartDateViewModel {
                NewStartMonth = 8, NewStartYear = 2022, StopDate = _stopDate
            };

            AssertValidationResult(x => x.NewStartDate, model, false, NewStartDateExceedsMaxError);
        }
Exemple #6
0
        public void Arrange()
        {
            _autoFixture = new Fixture();

            _viewModel = _autoFixture.Build <WhatIsTheNewStartDateViewModel>().Create();

            _fixture = new WhenPostingWhatIsTheNewStartDateTestFixture();
        }
        public void WhenNewStartDateIsValidDateThatIsOnOrAfterStopDate_ThenValidationPasses(int?month, int?year)
        {
            var model = new WhatIsTheNewStartDateViewModel {
                NewStartMonth = month, NewStartYear = year, StopDate = _stopDate
            };

            AssertValidationResult(x => x.NewStartDate, model, true);
        }
        public void WhenYearIsEnteredButMonthIsNot_ThenValidationFails()
        {
            var model = new WhatIsTheNewStartDateViewModel {
                NewStartMonth = null, NewStartYear = 2021, StopDate = _stopDate
            };

            AssertValidationResult(x => x.NewStartDate, model, false, MonthNotEnteredError);
        }
        public void WhenNewEndDateIsNotNull_AndStartDateIsBeforeEndDate_ThenValid()
        {
            var model = new WhatIsTheNewStartDateViewModel
            {
                NewStartMonth = _stopDate.AddMonths(1).Month,
                NewStartYear  = _stopDate.AddMonths(1).Year,
                NewEndDate    = _stopDate.AddMonths(2).Date
            };

            AssertValidationResult(x => x.NewStartDate, model, true);
        }
Exemple #10
0
        public async Task <IActionResult> WhatIsTheNewStartDate(WhatIsTheNewStartDateViewModel vm)
        {
            var request = await _modelMapper.Map <ChangeOfProviderRequest>(vm);

            if (vm.Edit)
            {
                return(RedirectToRoute(RouteNames.ConfirmDetailsAndSendRequest, request));
            }

            return(RedirectToRoute(RouteNames.WhatIsTheNewEndDate, request));
        }
        public void WhenNewEndDateIsNotNull_AndStartDateIsAfterEndDate_ThenInvalid()
        {
            var model = new WhatIsTheNewStartDateViewModel
            {
                NewStartMonth = _stopDate.AddMonths(2).Month,
                NewStartYear  = _stopDate.AddMonths(2).Year,
                NewEndDate    = _stopDate.AddMonths(1).Date
            };

            NewStartDateAfterNewEndDateError = $"The start date must be before {model.NewEndDate.Value:MMMM yyyy}";

            AssertValidationResult(x => x.NewStartDate, model, false, NewStartDateAfterNewEndDateError);
        }
        public WhenRequestingTheWhatIsTheNewStartDatePageTestFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOfProviderRequest>();
            _viewModel = _autoFixture.Create <WhatIsTheNewStartDateViewModel>();

            _mockMapper.Setup(m => m.Map <WhatIsTheNewStartDateViewModel>(_request))
            .ReturnsAsync(_viewModel);

            _mockUrlHelper
            .Setup(mock => mock.Link(RouteNames.ConfirmDetailsAndSendRequest, It.IsAny <object>()))
            .Returns(ConfirmDetailsLink)
            .Callback(() => ExpectedBackLinkSet = ConfirmDetailsLink);

            _mockUrlHelper
            .Setup(mock => mock.Link(RouteNames.WhoWillEnterTheDetails, It.IsAny <object>()))
            .Returns(PreviousQuestionLink)
            .Callback(() => ExpectedBackLinkSet = PreviousQuestionLink);
        }
        public async Task AccountHashedId_IsMapped(WhatIsTheNewStartDateViewModel viewModel)
        {
            var result = await _mapper.Map(viewModel);

            Assert.AreEqual(viewModel.AccountHashedId, result.AccountHashedId);
        }
Exemple #14
0
 public async Task <IActionResult> WhatIsTheNewStartDate(WhatIsTheNewStartDateViewModel viewModel)
 {
     return(await _controller.WhatIsTheNewStartDate(viewModel));
 }
        public async Task EmployerWillAdd_IsMapped(WhatIsTheNewStartDateViewModel viewModel)
        {
            var result = await _mapper.Map(viewModel);

            Assert.AreEqual(viewModel.EmployerWillAdd, result.EmployerWillAdd);
        }
        public async Task NewPrice_IsMapped(WhatIsTheNewStartDateViewModel viewModel)
        {
            var result = await _mapper.Map(viewModel);

            Assert.AreEqual(viewModel.NewPrice, result.NewPrice);
        }
        private void AssertValidationResult <T>(Expression <Func <WhatIsTheNewStartDateViewModel, T> > property, WhatIsTheNewStartDateViewModel instance, bool expectedValid, string expectedErrorMessage = null)
        {
            var validator = new WhatIsTheNewStartDateViewModelValidator(_mockAcademicYearDateProvider.Object);

            if (expectedValid)
            {
                validator.ShouldNotHaveValidationErrorFor(property, instance);
            }
            else
            {
                validator.ShouldHaveValidationErrorFor(property, instance).WithErrorMessage(expectedErrorMessage);
            }
        }
        public async Task ProviderName_IsMapped(WhatIsTheNewStartDateViewModel viewModel)
        {
            var result = await _mapper.Map(viewModel);

            Assert.AreEqual(viewModel.ProviderName, result.ProviderName);
        }