Exemple #1
0
        public async Task <IActionResult> ConfirmStop(ConfirmStopRequestViewModel viewModel)
        {
            if (viewModel.StopConfirmed.HasValue && viewModel.StopConfirmed.Value)
            {
                var stopApprenticeshipRequest = await _modelMapper.Map <StopApprenticeshipRequest>(viewModel);

                await _commitmentsApiClient.StopApprenticeship(viewModel.ApprenticeshipId, stopApprenticeshipRequest, CancellationToken.None);

                if (viewModel.IsCoPJourney)
                {
                    return(RedirectToAction(nameof(ApprenticeshipStoppedInform), new
                    {
                        viewModel.AccountHashedId,
                        viewModel.ApprenticeshipHashedId,
                        StoppedDuringCoP = true
                    }));
                }

                TempData.AddFlashMessage(ApprenticeStoppedMessage, ITempDataDictionaryExtensions.FlashMessageLevel.Success);
            }

            return(RedirectToAction(nameof(ApprenticeshipDetails), new ApprenticeshipDetailsRequest {
                AccountHashedId = viewModel.AccountHashedId, ApprenticeshipHashedId = viewModel.ApprenticeshipHashedId
            }));
        }
Exemple #2
0
        public async Task StopDate_IsMapped(ConfirmStopRequestViewModel request)
        {
            var mapper = new ConfirmStopRequestVMToStopApprenticeshpRequestMapper();
            var result = await mapper.Map(request);

            Assert.AreEqual(request.StopDate, result.StopDate);
        }
Exemple #3
0
        public void WhenStopConfirmedIsTrue_ThenValidatorReturnsValid(ConfirmStopRequestViewModel viewModel)
        {
            viewModel.StopConfirmed = true;

            var result = _validator.Validate(viewModel);

            Assert.True(result.IsValid);
        }
Exemple #4
0
        public void WhenStopConfirmedIsNull_ThenValidatorReturnsInvalid(ConfirmStopRequestViewModel viewModel)
        {
            viewModel.StopConfirmed = null;

            var result = _validator.Validate(viewModel);

            Assert.False(result.IsValid);
        }
Exemple #5
0
        public async Task AndTheApprenticeship_IsNotStopped__and_Mapper_IsNotCalled(ConfirmStopRequestViewModel viewModel)
        {
            //Arrange
            viewModel.StopConfirmed = false;

            //Act
            var result = await _controller.ConfirmStop(viewModel) as RedirectToActionResult;

            //Assert
            _mockModelMapper.Verify(x => x.Map <StopApprenticeshipRequest>(viewModel), Times.Never);
        }
Exemple #6
0
        public async Task AndTheApprenticeship_IsStopped_CommitmentApi_IsCalled(ConfirmStopRequestViewModel viewModel)
        {
            //Arrange
            viewModel.StopConfirmed = true;

            //Act
            var result = await _controller.ConfirmStop(viewModel) as RedirectToActionResult;

            //Assert
            _mockCommitmentsApiClient.Verify(x => x.StopApprenticeship(viewModel.ApprenticeshipId, It.IsAny <StopApprenticeshipRequest>(), CancellationToken.None), Times.Once);
        }
Exemple #7
0
        public async Task AndTheApprenticeship_IsStopped_AndIsCoPJourney_ThenRedirectToEnterNewTrainingProvider(ConfirmStopRequestViewModel viewModel)
        {
            var result = await _controller.ConfirmStop(viewModel);

            var redirect = result.VerifyReturnsRedirectToActionResult();

            Assert.AreEqual(redirect.ActionName, "ApprenticeshipStoppedInform");
            Assert.AreEqual(redirect.RouteValues["AccountHashedId"], viewModel.AccountHashedId);
            Assert.AreEqual(redirect.RouteValues["ApprenticeshipHashedId"], viewModel.ApprenticeshipHashedId);
        }
Exemple #8
0
        public async Task AndApprenticeshipIsStoppedDuringChangeOfProvider_ThenSetStoppedDuringChangeOfProvider_IsTrue(ConfirmStopRequestViewModel viewModel)
        {
            viewModel.StopConfirmed = true;
            viewModel.IsCoPJourney  = true;
            var result = await _controller.ConfirmStop(viewModel);

            var redirectResult = (RedirectToActionResult)result;
            var routeValues    = redirectResult.RouteValues;

            Assert.AreEqual(true, routeValues["StoppedDuringCoP"]);
            Assert.IsFalse(_controller.TempData.Values.Contains(ApprenticeStoppedMessage));
            Assert.IsFalse(_controller.TempData.ContainsKey(FlashMessageBody));
            Assert.IsFalse(_controller.TempData.ContainsKey(FlashMessageLevel));
            Assert.IsFalse(_controller.TempData.ContainsKey(FlashMessageTitle));
        }
Exemple #9
0
        public async Task AndTheApprenticeship_IsStopped_ThenRedirectToApprenticeDetailsPageWithFlashMessage(ConfirmStopRequestViewModel request)
        {
            //Arrange
            request.StopConfirmed = true;
            request.IsCoPJourney  = false;

            //Act
            var result = await _controller.ConfirmStop(request) as RedirectToActionResult;

            //Assert
            Assert.AreEqual("ApprenticeshipDetails", result.ActionName);
            Assert.IsTrue(_controller.TempData.Values.Contains(ApprenticeStoppedMessage));
            Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageBody));
            Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageLevel));
            Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageTitle));
        }
Exemple #10
0
        public async Task AndTheApprenticeship_IsNotStopped_And_IsNotCopJourney_ThenRedirectsToApprenticeshipDetails(ConfirmStopRequestViewModel viewModel)
        {
            //Arrange
            viewModel.StopConfirmed = false;

            //Act
            var result = await _controller.ConfirmStop(viewModel) as RedirectToActionResult;

            //Assert
            Assert.AreEqual("ApprenticeshipDetails", result.ActionName);
        }
Exemple #11
0
        public async Task WhenRequesting_ConfirmStopApprenticeship_ThenConfirmStopRequestViewModelIsPassedToTheView(ConfirmStopRequestViewModel expectedViewModel)
        {
            _mockModelMapper.Setup(m => m.Map <ConfirmStopRequestViewModel>(It.IsAny <ConfirmStopRequest>()))
            .ReturnsAsync(expectedViewModel);

            var viewResult = await _controller.ConfirmStop(new ConfirmStopRequest()) as ViewResult;

            var viewModel = viewResult.Model;

            var actualViewModel = (ConfirmStopRequestViewModel)viewModel;

            Assert.IsInstanceOf <ConfirmStopRequestViewModel>(viewModel);
            Assert.AreEqual(expectedViewModel, actualViewModel);
        }