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 })); }
public async Task StopDate_IsMapped(ConfirmStopRequestViewModel request) { var mapper = new ConfirmStopRequestVMToStopApprenticeshpRequestMapper(); var result = await mapper.Map(request); Assert.AreEqual(request.StopDate, result.StopDate); }
public void WhenStopConfirmedIsTrue_ThenValidatorReturnsValid(ConfirmStopRequestViewModel viewModel) { viewModel.StopConfirmed = true; var result = _validator.Validate(viewModel); Assert.True(result.IsValid); }
public void WhenStopConfirmedIsNull_ThenValidatorReturnsInvalid(ConfirmStopRequestViewModel viewModel) { viewModel.StopConfirmed = null; var result = _validator.Validate(viewModel); Assert.False(result.IsValid); }
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); }
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); }
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); }
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)); }
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)); }
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); }
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); }