internal void VerifyRedirectToDetails(ConfirmEditApprenticeshipViewModel viewModel, IActionResult result) { var redirect = result.VerifyReturnsRedirectToActionResult(); Assert.AreEqual(redirect.ActionName, "Details"); Assert.AreEqual(redirect.RouteValues["ProviderId"], viewModel.ProviderId); Assert.AreEqual(redirect.RouteValues["ApprenticeshipHashedId"], viewModel.ApprenticeshipHashedId); }
public void Validate_ConfirmDeletion_ShouldBeValidated(bool?confirmDeletion, bool expectedValid) { var model = new ConfirmEditApprenticeshipViewModel() { ConfirmChanges = confirmDeletion }; AssertValidationResult(request => request.ConfirmChanges, model, expectedValid); }
public async Task AndTheEditApprenticeship_IsConfirmed_and_Mapper_IsCalled(ConfirmEditApprenticeshipViewModel viewModel) { //Arrange viewModel.ConfirmChanges = true; //Act var result = await _controller.ConfirmEditApprenticeship(viewModel) as RedirectToActionResult; //Assert _mockModelMapper.Verify(x => x.Map <EditApprenticeshipApiRequest>(viewModel), Times.Once); }
public async Task AndTheEditApprenticeship_IsConfirmed_and_Mapper_IsCalled(ConfirmEditApprenticeshipViewModel viewModel) { //Arrange viewModel.ConfirmChanges = true; //Act await fixture.ConfirmEditApprenticeship(viewModel); //Assert fixture.EditApprenticeshipApiRequestMapperIsCalled(viewModel); }
public void SetUp() { var fixture = new Fixture(); viewModel = fixture.Build <ConfirmEditApprenticeshipViewModel>() .With(x => x.StartMonth, DateTime.Now.Month) .With(x => x.StartYear, DateTime.Now.Year) .With(x => x.EndMonth, DateTime.Now.Month) .With(x => x.EndYear, DateTime.Now.Year) .With(x => x.BirthMonth, DateTime.Now.Month) .With(x => x.BirthYear, DateTime.Now.Year) .With(x => x.BirthDay, DateTime.Now.Day) .Create(); mapper = new ConfirmEditApprenticeshipViewModelToEditApiRequestMapper(); }
public async Task <IActionResult> ConfirmEditApprenticeship(ConfirmEditApprenticeshipViewModel viewModel) { if (viewModel.ConfirmChanges.Value) { var request = await _modelMapper.Map <EditApprenticeshipApiRequest>(viewModel); var result = await _commitmentsApiClient.EditApprenticeship(request); if (result.NeedReapproval) { TempData.AddFlashMessage(ApprenticeChangesSentToEmployer, ITempDataDictionaryExtensions.FlashMessageLevel.Info); } else { TempData.AddFlashMessage(ApprenticeUpdated, ITempDataDictionaryExtensions.FlashMessageLevel.Info); } } TempData.Remove("EditApprenticeshipRequestViewModel"); return(RedirectToAction(nameof(Details), new { apprenticeshipHashedId = viewModel.ApprenticeshipHashedId, providerId = viewModel.ProviderId })); }
public async Task <IActionResult> ConfirmEditApprenticeship(ConfirmEditApprenticeshipViewModel viewModel) { if (viewModel.ConfirmChanges.Value) { var request = await _modelMapper.Map <EditApprenticeshipApiRequest>(viewModel); var result = await _commitmentsApiClient.EditApprenticeship(request); if (result.NeedReapproval) { TempData.AddFlashMessage(ApprenticeUpdated, $"Your suggested changes have been sent to {viewModel.ProviderName} for approval.", ITempDataDictionaryExtensions.FlashMessageLevel.Success); } else { TempData.AddFlashMessage(ApprenticeUpdated, ITempDataDictionaryExtensions.FlashMessageLevel.Success); } } TempData.Remove("EditApprenticeshipRequestViewModel"); return(RedirectToAction(nameof(ApprenticeshipDetails), new { viewModel.AccountHashedId, viewModel.ApprenticeshipHashedId })); }
public async Task AndTheEditApprenticeship_IsConfirmed_WithIntermediateUpdate_ThenRedirectToApprenticeshipDetails(ConfirmEditApprenticeshipViewModel viewModel) { viewModel.ConfirmChanges = true; var result = await fixture.ConfirmEditApprenticeship(viewModel); fixture.VerifyRedirectToDetails(viewModel, result); }
public async Task AndTheApprenticeship_IsEdit_WithImmediateUpdate_WithCorrectFlashMessage(ConfirmEditApprenticeshipViewModel viewModel) { fixture.SetNeedReapproval(false); await fixture.ConfirmEditApprenticeship(viewModel); fixture.ConfirmFlashMessageLevel(); fixture.ConfirmFlashMessageValue(EditApprenticeshipUpdated); }
public async Task AndTheEditApprenticeship_IsNotConfirmed_CommitmentApi_IsNotCalled(ConfirmEditApprenticeshipViewModel viewModel) { //Arrange viewModel.ConfirmChanges = false; //Act await fixture.ConfirmEditApprenticeship(viewModel); //Assert fixture.VerifyEditApprenticeshipApiNeverCalled(); }
public async Task AndTheEditApprenticeship_IsNotConfirmed_ThenRedirectsToApprenticeshipDetails(ConfirmEditApprenticeshipViewModel viewModel) { //Arrange viewModel.ConfirmChanges = false; //Act var result = await _controller.ConfirmEditApprenticeship(viewModel) as RedirectToActionResult; //Assert Assert.AreEqual("ApprenticeshipDetails", result.ActionName); }
public async Task AndTheApprenticeship_IsEdit_WithImmediateUpdate_ThenRedirectToApprenticeshipDetails(ConfirmEditApprenticeshipViewModel viewModel) { fixture.SetNeedReapproval(false); var result = await fixture.ConfirmEditApprenticeship(viewModel); fixture.VerifyRedirectToDetails(viewModel, result); }
internal void EditApprenticeshipApiRequestMapperIsNeverCalled(ConfirmEditApprenticeshipViewModel viewModel) { _mockMapper.Verify(x => x.Map <EditApprenticeshipApiRequest>(viewModel), Times.Never); }
private void AssertValidationResult <T>(Expression <Func <ConfirmEditApprenticeshipViewModel, T> > property, ConfirmEditApprenticeshipViewModel instance, bool expectedValid) { var validator = new ConfirmEditApprenticeshipViewModelValidator(); if (expectedValid) { validator.ShouldNotHaveValidationErrorFor(property, instance); } else { validator.ShouldHaveValidationErrorFor(property, instance); } }
public async Task AndTheEditApprenticeship_IsConfirmed_WithIntermediateUpdate_ThenRedirectToApprenticeshipDetails(ConfirmEditApprenticeshipViewModel viewModel) { viewModel.ConfirmChanges = true; var result = await _controller.ConfirmEditApprenticeship(viewModel); var redirect = result.VerifyReturnsRedirectToActionResult(); Assert.AreEqual(redirect.ActionName, "ApprenticeshipDetails"); Assert.AreEqual(redirect.RouteValues["AccountHashedId"], viewModel.AccountHashedId); Assert.AreEqual(redirect.RouteValues["ApprenticeshipHashedId"], viewModel.ApprenticeshipHashedId); Assert.IsTrue(_controller.TempData.Values.Contains($"Your suggested changes have been sent to {viewModel.ProviderName} for approval.")); Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageBody)); Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageLevel)); }
public Task <IActionResult> ConfirmEditApprenticeship(ConfirmEditApprenticeshipViewModel viewModel) { return(_controller.ConfirmEditApprenticeship(viewModel)); }
public async Task AndTheEditApprenticeship_IsNotConfirmed_ThenRedirectsToApprenticeshipDetails(ConfirmEditApprenticeshipViewModel viewModel) { //Arrange viewModel.ConfirmChanges = false; //Act var result = await fixture.ConfirmEditApprenticeship(viewModel); //Assert fixture.VerifyRedirectToDetails(viewModel, result); }
public async Task AndTheEditApprenticeship_IsNotConfirmed_CommitmentApi_IsNotCalled(ConfirmEditApprenticeshipViewModel viewModel) { //Arrange viewModel.ConfirmChanges = false; //Act var result = await _controller.ConfirmEditApprenticeship(viewModel) as RedirectToActionResult; //Assert _mockCommitmentsApiClient.Verify(x => x.EditApprenticeship(It.IsAny <EditApprenticeshipApiRequest>(), CancellationToken.None), Times.Never); }
public async Task AndTheApprenticeship_IsEdit_WithImmediateUpdate_ThenRedirectToApprenticeshipDetails(ConfirmEditApprenticeshipViewModel viewModel) { response.NeedReapproval = false; var result = await _controller.ConfirmEditApprenticeship(viewModel); var redirect = result.VerifyReturnsRedirectToActionResult(); Assert.AreEqual(redirect.ActionName, "ApprenticeshipDetails"); Assert.AreEqual(redirect.RouteValues["AccountHashedId"], viewModel.AccountHashedId); Assert.AreEqual(redirect.RouteValues["ApprenticeshipHashedId"], viewModel.ApprenticeshipHashedId); Assert.IsTrue(_controller.TempData.Values.Contains(EditApprenticeUpdated)); Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageBody)); Assert.IsTrue(_controller.TempData.ContainsKey(FlashMessageLevel)); }
public async Task <ConfirmEditApprenticeshipViewModel> Map() { resultViewModl = await _mapper.Map(source); return(resultViewModl); }
public async Task AndTheEditApprenticeship_IsConfirmed_WithIntermediateUpdate_WithCorrectFlashMessage(ConfirmEditApprenticeshipViewModel viewModel) { viewModel.ConfirmChanges = true; await fixture.ConfirmEditApprenticeship(viewModel); fixture.ConfirmFlashMessageLevel(); fixture.ConfirmFlashMessageValue(EditApprenticeNeedReapproval); }