Exemplo n.º 1
0
 public AgencyUserMediator(IAgencyUserProvider agencyUserProvider,
                           IAuthorizationErrorProvider authorizationErrorProvider, IUserDataProvider userDataProvider,
                           IVacancyQAProvider vacancyQaProvider, IConfigurationService configurationService)
 {
     _agencyUserProvider         = agencyUserProvider;
     _authorizationErrorProvider = authorizationErrorProvider;
     _userDataProvider           = userDataProvider;
     _vacancyQaProvider          = vacancyQaProvider;
     _configurationService       = configurationService;
 }
 public CandidateProvider(ICandidateSearchService candidateSearchService, IMapper mapper, ICandidateApplicationService candidateApplicationService, IApprenticeshipApplicationService apprenticeshipApplicationService, ITraineeshipApplicationService traineeshipApplicationService, IVacancyPostingService vacancyPostingService, IProviderService providerService, IEmployerService employerService, ILogService logService, IConfigurationService configurationService, IEncryptionService <AnonymisedApplicationLink> encryptionService, IDateTimeService dateTimeService, IVacancyQAProvider vacancyQaProvider)
 {
     _candidateSearchService = candidateSearchService;
     _mapper = mapper;
     _candidateApplicationService      = candidateApplicationService;
     _apprenticeshipApplicationService = apprenticeshipApplicationService;
     _traineeshipApplicationService    = traineeshipApplicationService;
     _vacancyPostingService            = vacancyPostingService;
     _vacancyQaProvider    = vacancyQaProvider;
     _providerService      = providerService;
     _employerService      = employerService;
     _logService           = logService;
     _configurationService = configurationService;
     _encryptionService    = encryptionService;
     _dateTimeService      = dateTimeService;
 }
 public VacancyMediator(IVacancyQAProvider vacancyQaProvider,
                        VacancyViewModelValidator vacancyViewModelValidator,
                        VacancySummaryViewModelServerValidator vacancySummaryViewModelServerValidator,
                        NewVacancyViewModelServerValidator newVacancyViewModelServerValidator,
                        VacancyQuestionsViewModelServerValidator vacancyQuestionsViewModelServerValidator,
                        VacancyRequirementsProspectsViewModelServerValidator vacancyRequirementsProspectsViewModelServerValidator,
                        VacancyOwnerRelationshipViewModelValidator vacancyOwnerRelationshipViewModelValidator,
                        IProviderQAProvider providerQaProvider, LocationSearchViewModelServerValidator locationSearchViewModelServerValidator, ILocationsProvider locationsProvider, TrainingDetailsViewModelServerValidator trainingDetailsViewModelServerValidator)
 {
     _vacancyQaProvider         = vacancyQaProvider;
     _vacancyViewModelValidator = vacancyViewModelValidator;
     _vacancySummaryViewModelServerValidator               = vacancySummaryViewModelServerValidator;
     _newVacancyViewModelServerValidator                   = newVacancyViewModelServerValidator;
     _vacancyQuestionsViewModelServerValidator             = vacancyQuestionsViewModelServerValidator;
     _vacancyRequirementsProspectsViewModelServerValidator = vacancyRequirementsProspectsViewModelServerValidator;
     _vacancyOwnerRelationshipViewModelValidator           = vacancyOwnerRelationshipViewModelValidator;
     _providerQaProvider = providerQaProvider;
     _locationSearchViewModelServerValidator = locationSearchViewModelServerValidator;
     _locationsProvider = locationsProvider;
     _trainingDetailsViewModelServerValidator = trainingDetailsViewModelServerValidator;
 }
        public void Setup()
        {
            var utcNow = new DateTime(2016, 01, 29, 11, 39, 34, DateTimeKind.Utc);

            _dateTimeService = new Mock <IDateTimeService>();
            _dateTimeService.Setup(s => s.UtcNow).Returns(utcNow);

            var submittedTodayDate = utcNow.Date;

            _vacanciesSubmittedToday = new Fixture().Build <VacancySummary>()
                                       .With(v => v.Status, VacancyStatus.Submitted)
                                       .With(v => v.DateSubmitted, submittedTodayDate)
                                       .With(v => v.SubmissionCount, 1)
                                       .With(v => v.RegionalTeam, RegionalTeam.Other)
                                       .With(v => v.ContractOwnerId, ProviderId)
                                       .CreateMany(ExpectedSubmittedTodayCount).ToList();

            var vacanciesSubmittedYesterdayUpperBoundary = new Fixture().Build <Vacancy>()
                                                           .With(v => v.Status, VacancyStatus.Submitted)
                                                           .With(v => v.DateSubmitted, utcNow.Date.AddSeconds(-1))
                                                           .With(v => v.SubmissionCount, 1)
                                                           .With(v => v.RegionalTeam, RegionalTeam.Other)
                                                           .With(v => v.ContractOwnerId, ProviderId)
                                                           .CreateMany(ExpectedSubmittedYesterdayCount / 2).ToList();
            var vacanciesSubmittedYesterdayLowerBoundary = new Fixture().Build <Vacancy>()
                                                           .With(v => v.Status, VacancyStatus.Submitted)
                                                           .With(v => v.DateSubmitted, utcNow.Date.AddDays(-1))
                                                           .With(v => v.SubmissionCount, 1)
                                                           .With(v => v.RegionalTeam, RegionalTeam.Other)
                                                           .With(v => v.ContractOwnerId, ProviderId)
                                                           .CreateMany(ExpectedSubmittedYesterdayCount / 2).ToList();

            var submittedMoreThan48HoursDate      = utcNow.AddHours(-48).AddSeconds(-1);
            var vacanciesSubmittedMoreThan48Hours = new Fixture().Build <Vacancy>()
                                                    .With(v => v.Status, VacancyStatus.Submitted)
                                                    .With(v => v.DateSubmitted, submittedMoreThan48HoursDate)
                                                    .With(v => v.SubmissionCount, 1)
                                                    .With(v => v.RegionalTeam, RegionalTeam.Other)
                                                    .With(v => v.ContractOwnerId, ProviderId)
                                                    .CreateMany(ExpectedSubmittedMoreThan48HoursCount).ToList();

            var resubmittedDate           = utcNow.Date.AddDays(-1).AddSeconds(-1);
            var vacanciesResubmittedHours = new Fixture().Build <Vacancy>()
                                            .With(v => v.Status, VacancyStatus.Submitted)
                                            .With(v => v.DateSubmitted, resubmittedDate)
                                            .With(v => v.SubmissionCount, 3)
                                            .With(v => v.RegionalTeam, RegionalTeam.Other)
                                            .With(v => v.ContractOwnerId, ProviderId)
                                            .CreateMany(ExpectedResubmittedCount).ToList();

            var vacancies = _vacanciesSubmittedToday;

            vacancies.AddRange(vacanciesSubmittedYesterdayUpperBoundary);
            vacancies.AddRange(vacanciesSubmittedYesterdayLowerBoundary);
            vacancies.AddRange(vacanciesSubmittedMoreThan48Hours);
            vacancies.AddRange(vacanciesResubmittedHours);

            var metrics = new List <RegionalTeamMetrics>()
            {
                new RegionalTeamMetrics()
                {
                    RegionalTeam = RegionalTeam.EastAnglia
                },
                new RegionalTeamMetrics()
                {
                    RegionalTeam = RegionalTeam.EastMidlands
                },
                new RegionalTeamMetrics()
                {
                    RegionalTeam = RegionalTeam.North
                },
                new RegionalTeamMetrics()
                {
                    RegionalTeam = RegionalTeam.NorthWest
                },
                new RegionalTeamMetrics()
                {
                    RegionalTeam = RegionalTeam.SouthEast
                },
                new RegionalTeamMetrics()
                {
                    RegionalTeam = RegionalTeam.SouthWest
                },
                new RegionalTeamMetrics()
                {
                    RegionalTeam = RegionalTeam.WestMidlands
                },
                new RegionalTeamMetrics()
                {
                    RegionalTeam = RegionalTeam.YorkshireAndHumberside
                },
            };

            int total;

            _vacancyPostingService = new Mock <IVacancyPostingService>();
            _vacancyPostingService.Setup(p => p.GetWithStatus(It.IsAny <VacancySummaryByStatusQuery>(), out total)).Returns(vacancies);
            _vacancyPostingService.Setup(p => p.GetRegionalTeamsMetrics(It.IsAny <VacancySummaryByStatusQuery>())).Returns(metrics);

            _providerService = new Mock <IProviderService>();
            _providerService.Setup(s => s.GetProvider(It.IsAny <string>(), true)).Returns(new Fixture().Create <Provider>());
            _providerService.Setup(s => s.GetProviders(It.IsAny <IEnumerable <int> >())).Returns(new List <Provider> {
                new Fixture().Build <Provider>().With(p => p.ProviderId, ProviderId).Create()
            });

            _provider = new VacancyProviderBuilder().With(_vacancyPostingService).With(_providerService).With(_dateTimeService).Build();
        }
 public CandidateMediator(ICandidateProvider candidateProvider, IVacancyQAProvider vacancyQaProvider, CandidateSearchViewModelServerValidator candidateSearchViewModelServerValidator)
 {
     _candidateProvider = candidateProvider;
     _vacancyQaProvider = vacancyQaProvider;
     _candidateSearchViewModelServerValidator = candidateSearchViewModelServerValidator;
 }