public void Validate_EndDate_ShouldBeValidated(int?month, int?year, bool expectedValid)
        {
            var model = new EditEndDateViewModel {
                EndMonth = month, EndYear = year
            };

            AssertValidationResult(request => request.EndDate, model, expectedValid);
        }
        public void ThenApprenticeshipHashedIdIsValidated(string apprenticeshipHashedId, bool expectedValid)
        {
            var viewModel = new EditEndDateViewModel()
            {
                ApprenticeshipHashedId = apprenticeshipHashedId
            };

            AssertValidationResult(x => x.ApprenticeshipHashedId, viewModel, expectedValid);
        }
        public void ThenAccountHashedIdIsValidated(string accountHashedId, bool expectedValid)
        {
            var viewModel = new EditEndDateViewModel()
            {
                AccountHashedId = accountHashedId
            };

            AssertValidationResult(x => x.AccountHashedId, viewModel, expectedValid);
        }
        public async Task EndDate_IsMapped(
            EditEndDateViewModel request,
            IAuthenticationService authenticationService)
        {
            var mapper = new EditEndDateRequestMapper(authenticationService);
            var result = await mapper.Map(request);

            Assert.AreEqual(request.EndDate.Date, result.EndDate);
        }
Example #5
0
        public async Task <IActionResult> EditEndDate(EditEndDateViewModel viewModel)
        {
            var request = await _modelMapper.Map <CommitmentsV2.Api.Types.Requests.EditEndDateRequest>(viewModel);

            await _commitmentsApiClient.UpdateEndDateOfCompletedRecord(request, CancellationToken.None);

            return(RedirectToAction(nameof(ApprenticeshipDetails), new ApprenticeshipDetailsRequest {
                AccountHashedId = viewModel.AccountHashedId, ApprenticeshipHashedId = viewModel.ApprenticeshipHashedId
            }));
        }
        public async Task UserInfo_IsMapped(
            EditEndDateViewModel request,
            IAuthenticationService authenticationService)
        {
            var mapper = new EditEndDateRequestMapper(authenticationService);
            var result = await mapper.Map(request);

            Assert.AreEqual(authenticationService.UserInfo.UserEmail, result.UserInfo.UserEmail);
            Assert.AreEqual(authenticationService.UserInfo.UserId, result.UserInfo.UserId);
            Assert.AreEqual(authenticationService.UserInfo.UserDisplayName, result.UserInfo.UserDisplayName);
        }
Example #7
0
        public async Task AndConfirmEditDateIsSelected_ThenRedirectToApprenticeDetailsPageWithFlashMessage(EditEndDateViewModel request)
        {
            //Act
            var result = await _controller.EditEndDate(request) as RedirectToActionResult;

            //Assert
            Assert.AreEqual("ApprenticeshipDetails", result.ActionName);
            Assert.IsTrue(_controller.TempData.Values.Contains(ApprenticeEndDateUpdatedOnCompletedRecord));
            Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageBody));
            Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageLevel));
            Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageTitle));
        }
Example #8
0
        public async Task AndConfirmEditDateIsSelected_ThenRedirectToApprenticeDetailsPage(EditEndDateViewModel request)
        {
            //Act
            var result = await _controller.EditEndDate(request) as RedirectToActionResult;

            //Assert
            Assert.AreEqual("ApprenticeshipDetails", result.ActionName);
        }
Example #9
0
        public async Task AndConfirmEditDateIsSelected_ThenCommitmentsApiUpdateEndDateOfCompletedRecordIsCalled(EditEndDateViewModel request)
        {
            //Act
            var result = await _controller.EditEndDate(request) as RedirectToActionResult;

            //Assert
            _mockCommitmentsApiClient.Verify(p => p.UpdateEndDateOfCompletedRecord(It.IsAny <EditEndDateRequest>(), It.IsAny <CancellationToken>()), Times.Once);
        }
        private void AssertValidationResult <T>(Expression <Func <EditEndDateViewModel, T> > property, EditEndDateViewModel instance, bool expectedValid)
        {
            var validator = new EditEndDateViewModelValidator();

            if (expectedValid)
            {
                validator.ShouldNotHaveValidationErrorFor(property, instance);
            }
            else
            {
                validator.ShouldHaveValidationErrorFor(property, instance);
            }
        }