public void CallRaaTraineeshipStrategyIfConfigurationIsRaaAndTheTraineeshipVacancyIsMasteredIdRaa() { // Arrange var candidateId = Guid.NewGuid(); const int vacancyId = 1; const bool editedInRaa = true; var entityId = Guid.NewGuid(); var submitTraineeshipLegacyApplicationStrategy = new Mock <ISubmitTraineeshipApplicationStrategy>(); var submitRaaTraineeshipApplicationStrategy = new Mock <ISubmitTraineeshipApplicationStrategy>(); var configurationService = new Mock <IConfigurationService>(); configurationService.Setup(cs => cs.Get <ServicesConfiguration>()) .Returns(new ServicesConfiguration { ServiceImplementation = ServicesConfiguration.Raa }); var candidateApprenticeshipVacancyDetailStrategy = new Mock <ILegacyGetCandidateVacancyDetailStrategy <ApprenticeshipVacancyDetail> >(); candidateApprenticeshipVacancyDetailStrategy.Setup(s => s.GetVacancyDetails(candidateId, vacancyId)) .Returns(new ApprenticeshipVacancyDetail { EditedInRaa = editedInRaa }); var traineeshipApplicationDetail = new Fixture().Build <TraineeshipApplicationDetail>().With(d => d.EntityId, entityId).Create(); var saveTraineeshipApplicationStrategy = new Mock <ISaveTraineeshipApplicationStrategy>(); saveTraineeshipApplicationStrategy.Setup( s => s.SaveApplication(candidateId, vacancyId, traineeshipApplicationDetail)) .Returns(traineeshipApplicationDetail); var candiateService = new CandidateServiceBuilder() .With(configurationService) .With(saveTraineeshipApplicationStrategy) .WithSubmitTraineeshipLegacy(submitTraineeshipLegacyApplicationStrategy) .WithSubmitTraineeshipRaa(submitRaaTraineeshipApplicationStrategy) .With(candidateApprenticeshipVacancyDetailStrategy) .Build(); // Act candiateService.SubmitTraineeshipApplication(candidateId, vacancyId, traineeshipApplicationDetail); // Assert submitRaaTraineeshipApplicationStrategy.Verify(s => s.SubmitApplication(entityId)); submitTraineeshipLegacyApplicationStrategy.Verify(s => s.SubmitApplication(It.IsAny <Guid>()), Times.Never); }
public void CallTraineeshipLegacyStrategyIfConfigurationIsLegacy() { // Arrange var candidateId = Guid.NewGuid(); const int vacancyId = 1; var entityId = Guid.NewGuid(); var submitTraineeshipLegacyApplicationStrategy = new Mock <ISubmitTraineeshipApplicationStrategy>(); var submitRaaTraineeshipApplicationStrategy = new Mock <ISubmitTraineeshipApplicationStrategy>(); var configurationService = new Mock <IConfigurationService>(); configurationService.Setup(cs => cs.Get <ServicesConfiguration>()) .Returns(new ServicesConfiguration { ServiceImplementation = ServicesConfiguration.Legacy }); var traineeshipApplicationDetail = new Fixture().Build <TraineeshipApplicationDetail>().With(d => d.EntityId, entityId).Create(); var saveTraineeshipApplicationStrategy = new Mock <ISaveTraineeshipApplicationStrategy>(); saveTraineeshipApplicationStrategy.Setup( s => s.SaveApplication(candidateId, vacancyId, traineeshipApplicationDetail)) .Returns(traineeshipApplicationDetail); var candiateService = new CandidateServiceBuilder() .With(configurationService) .With(saveTraineeshipApplicationStrategy) .WithSubmitTraineeshipLegacy(submitTraineeshipLegacyApplicationStrategy) .WithSubmitTraineeshipRaa(submitRaaTraineeshipApplicationStrategy) .Build(); // Act candiateService.SubmitTraineeshipApplication(candidateId, vacancyId, traineeshipApplicationDetail); // Assert submitTraineeshipLegacyApplicationStrategy.Verify(s => s.SubmitApplication(entityId)); submitRaaTraineeshipApplicationStrategy.Verify(s => s.SubmitApplication(It.IsAny <Guid>()), Times.Never); }