public void ShouldPatchTrainingCourseChanges() { var candidateId = Guid.NewGuid(); var traineeshipApplicationProvider = new ApprenticeshipApplicationProviderBuilder().Build(); var savedTraineeshipViewModel = new ApprenticeshipApplicationViewModelBuilder().Build(); var trainingCourses = new[] { new TrainingCourseViewModelBuilder() .WithProvider("Provider") .Build() }; var traineeshipViewModel = new ApprenticeshipApplicationViewModelBuilder() .WithTrainingCourses(trainingCourses) .Build(); var viewModel = traineeshipApplicationProvider .PatchApplicationViewModel(candidateId, savedTraineeshipViewModel, traineeshipViewModel); viewModel.Should().NotBeNull(); viewModel.ViewModelMessage.Should().BeNull(); viewModel.HasError().Should().BeFalse(); viewModel.Candidate.HasTrainingCourses.Should().BeTrue(); viewModel.Candidate.TrainingCourses.Should().Equal(trainingCourses); }
public void GivenValidViewModel_ThenSaveIsCalled() { var candidateId = Guid.NewGuid(); var candidateService = new Mock <ICandidateService>(); var viewModel = new ApprenticeshipApplicationViewModelBuilder().Build(); new ApprenticeshipApplicationProviderBuilder().With(candidateService).Build().SaveApplication(candidateId, ValidVacancyId, viewModel); candidateService.Verify(cs => cs.SaveApplication(candidateId, ValidVacancyId, It.IsAny <ApprenticeshipApplicationDetail>()), Times.Once); }
public void GivenCandidateDoesNotRequireSupportForInterview_ThenSupportMessageIsBlanked() { var savedModel = new ApprenticeshipApplicationViewModelBuilder().Build(); var submittedModel = new ApprenticeshipApplicationViewModelBuilder() .DoesNotRequireSupportForInterview() .CanBeSupportedAtInterviewBy("Should be blanked") .Build(); var patchedViewModel = new ApprenticeshipApplicationProviderBuilder().Build().PatchApplicationViewModel(Guid.NewGuid(), savedModel, submittedModel); patchedViewModel.Candidate.AboutYou.AnythingWeCanDoToSupportYourInterview.Should().BeNullOrEmpty(); }
public void GivenRequiresSupportForInterview_ThenSupportMessageIsRetained() { var savedModel = new ApprenticeshipApplicationViewModelBuilder().Build(); const string anythingWeCanDoToSupportYourInterview = "Should be retained"; var submittedModel = new ApprenticeshipApplicationViewModelBuilder() .RequiresSupportForInterview() .CanBeSupportedAtInterviewBy(anythingWeCanDoToSupportYourInterview) .Build(); var patchedViewModel = new ApprenticeshipApplicationProviderBuilder().Build().PatchApplicationViewModel(Guid.NewGuid(), savedModel, submittedModel); patchedViewModel.Candidate.MonitoringInformation.AnythingWeCanDoToSupportYourInterview.Should().Be(anythingWeCanDoToSupportYourInterview); }
public void ErrorTest() { var applicationView = new ApprenticeshipApplicationViewModelBuilder().HasError("Has error").Build(); var apprenticeshipApplicationProviderMock = new Mock<IApprenticeshipApplicationProvider>(); apprenticeshipApplicationProviderMock.Setup(x => x.ArchiveApplication(It.IsAny<Guid>(), It.IsAny<int>())).Returns(applicationView); var accountMediator = new AccountMediatorBuilder().With(apprenticeshipApplicationProviderMock).Build(); var response = accountMediator.Archive(Guid.NewGuid(), 1); response.Code.Should().Be(AccountMediatorCodes.Archive.ErrorArchiving); response.Message.Text.Should().Be("Has error"); response.Message.Level.Should().Be(UserMessageLevel.Warning); }
public void SuccessTest() { var applicationView = new ApprenticeshipApplicationViewModelBuilder().Build(); var apprenticeshipApplicationProviderMock = new Mock<IApprenticeshipApplicationProvider>(); apprenticeshipApplicationProviderMock.Setup(x => x.ArchiveApplication(It.IsAny<Guid>(), It.IsAny<int>())).Returns(applicationView); var accountMediator = new AccountMediatorBuilder().With(apprenticeshipApplicationProviderMock).Build(); var response = accountMediator.Archive(Guid.NewGuid(), 1); response.Code.Should().Be(AccountMediatorCodes.Archive.SuccessfullyArchived); response.Message.Text.Should().Be(MyApplicationsPageMessages.ApplicationArchived); response.Message.Level.Should().Be(UserMessageLevel.Success); }
public void VacancyNotFound() { var viewModel = new ApprenticeshipApplicationViewModelBuilder().WithStatus(ApplicationStatuses.ExpiredOrWithdrawn) .Build(); var apprenticeshipApplicationProvider = new Mock <IApprenticeshipApplicationProvider>(); apprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), It.IsAny <int>())) .Returns(viewModel); var mediator = new ApprenticeshipApplicationMediatorBuilder().With(apprenticeshipApplicationProvider).Build(); var response = mediator.View(Guid.NewGuid(), ValidVacancyId); //Should still be able to view the application even if the vacancy is not available response.AssertCode(ApprenticeshipApplicationMediatorCodes.View.Ok, true); }
public void ApplicationNotFound() { var viewModel = new ApprenticeshipApplicationViewModelBuilder().HasError( ApplicationViewModelStatus.ApplicationNotFound, MyApplicationsPageMessages.ApplicationNotFound) .Build(); var apprenticeshipApplicationProvider = new Mock <IApprenticeshipApplicationProvider>(); apprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), It.IsAny <int>())) .Returns(viewModel); var mediator = new ApprenticeshipApplicationMediatorBuilder().With(apprenticeshipApplicationProvider).Build(); var response = mediator.View(Guid.NewGuid(), ValidVacancyId); //Should still be able to view the application even if the vacancy is not available response.AssertMessage(ApprenticeshipApplicationMediatorCodes.View.ApplicationNotFound, ApplicationPageMessages.ViewApplicationFailed, UserMessageLevel.Warning, true); }
public void ShouldPatchWorkExperienceChanges() { var candidateId = Guid.NewGuid(); var apprenticeshipApplicationProvider = new ApprenticeshipApplicationProviderBuilder().Build(); var savedViewModel = new ApprenticeshipApplicationViewModelBuilder().Build(); var workExperience = new[] { new WorkExperienceViewModelBuilder() .WithDescription("Work") .WithEmployer("Employer") .Build() }; var newViewModel = new ApprenticeshipApplicationViewModelBuilder().WithWorkExperience(workExperience).Build(); var patchedViewModel = apprenticeshipApplicationProvider.PatchApplicationViewModel(candidateId, savedViewModel, newViewModel); patchedViewModel.Should().NotBeNull(); patchedViewModel.ViewModelMessage.Should().BeNull(); patchedViewModel.HasError().Should().BeFalse(); patchedViewModel.Candidate.HasWorkExperience.Should().BeTrue(); patchedViewModel.Candidate.WorkExperience.Should().Equal(workExperience); }