예제 #1
0
        public void CallLegacyStrategyIfConfigurationIsLegacy()
        {
            // Arrange
            var       candidateId = Guid.NewGuid();
            const int vacancyId   = 1;
            var       submitLegacyApplicationStrategy = new Mock <ISubmitApprenticeshipApplicationStrategy>();
            var       submitRaaApplicationStrategy    = new Mock <ISubmitApprenticeshipApplicationStrategy>();
            var       configurationService            = new Mock <IConfigurationService>();

            configurationService.Setup(cs => cs.Get <ServicesConfiguration>())
            .Returns(new ServicesConfiguration {
                ServiceImplementation = ServicesConfiguration.Legacy
            });

            var candiateService = new CandidateServiceBuilder()
                                  .With(configurationService)
                                  .WithSubmitLegacy(submitLegacyApplicationStrategy)
                                  .WithSubmitRaa(submitRaaApplicationStrategy)
                                  .Build();

            // Act
            candiateService.SubmitApplication(candidateId, vacancyId);

            // Assert
            submitLegacyApplicationStrategy.Verify(s => s.SubmitApplication(candidateId, vacancyId));
            submitRaaApplicationStrategy.Verify(s => s.SubmitApplication(It.IsAny <Guid>(), It.IsAny <int>()), Times.Never);
        }
예제 #2
0
        public void CallRaaStrategyIfConfigurationIsRaaAndTheVacancyIsMasteredIdRaa()
        {
            // Arrange
            var        candidateId = Guid.NewGuid();
            const int  vacancyId   = 1;
            const bool editedInRaa = true;
            var        submitLegacyApplicationStrategy = new Mock <ISubmitApprenticeshipApplicationStrategy>();
            var        submitRaaApplicationStrategy    = new Mock <ISubmitApprenticeshipApplicationStrategy>();
            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 candiateService = new CandidateServiceBuilder()
                                  .With(configurationService)
                                  .WithSubmitLegacy(submitLegacyApplicationStrategy)
                                  .WithSubmitRaa(submitRaaApplicationStrategy)
                                  .With(candidateApprenticeshipVacancyDetailStrategy)
                                  .Build();

            // Act
            candiateService.SubmitApplication(candidateId, vacancyId);

            // Assert
            submitRaaApplicationStrategy.Verify(s => s.SubmitApplication(candidateId, vacancyId));
            submitLegacyApplicationStrategy.Verify(s => s.SubmitApplication(It.IsAny <Guid>(), It.IsAny <int>()), Times.Never);
        }