예제 #1
0
        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);
        }
예제 #2
0
        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);
        }