public SpecificationPublishingService(
            ISpecificationIdServiceRequestValidator specificationIdValidator,
            IPublishedProviderIdsServiceRequestValidator publishedProviderIdsValidator,
            IProviderService providerService,
            ISpecificationsApiClient specifications,
            IPublishingResiliencePolicies resiliencePolicies,
            ICacheProvider cacheProvider,
            ICreateRefreshFundingJobs refreshFundingJobs,
            ICreateApproveAllFundingJobs approveSpecificationFundingJobs,
            ICreateApproveBatchFundingJobs approveProviderFundingJobs,
            ISpecificationFundingStatusService specificationFundingStatusService,
            IFundingConfigurationService fundingConfigurationService,
            IPrerequisiteCheckerLocator prerequisiteCheckerLocator,
            IPublishedFundingRepository publishedFundingRepository)
            : base(specificationIdValidator, publishedProviderIdsValidator, specifications, resiliencePolicies, fundingConfigurationService)
        {
            Guard.ArgumentNotNull(refreshFundingJobs, nameof(refreshFundingJobs));
            Guard.ArgumentNotNull(approveSpecificationFundingJobs, nameof(approveSpecificationFundingJobs));
            Guard.ArgumentNotNull(approveProviderFundingJobs, nameof(approveProviderFundingJobs));
            Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider));
            Guard.ArgumentNotNull(specificationFundingStatusService, nameof(specificationFundingStatusService));
            Guard.ArgumentNotNull(prerequisiteCheckerLocator, nameof(prerequisiteCheckerLocator));
            Guard.ArgumentNotNull(providerService, nameof(providerService));
            Guard.ArgumentNotNull(publishedFundingRepository, nameof(publishedFundingRepository));
            Guard.ArgumentNotNull(resiliencePolicies?.PublishedFundingRepository, "resiliencePolicies.PublishedFundingRepository");

            _refreshFundingJobs = refreshFundingJobs;
            _cacheProvider      = cacheProvider;
            _approveSpecificationFundingJobs   = approveSpecificationFundingJobs;
            _approveProviderFundingJobs        = approveProviderFundingJobs;
            _specificationFundingStatusService = specificationFundingStatusService;
            _prerequisiteCheckerLocator        = prerequisiteCheckerLocator;
            _publishedFundingRepository        = publishedFundingRepository;
            _providerService = providerService;
        }
Beispiel #2
0
        public void SetUp()
        {
            _approveSpecificationFundingJobs = Substitute.For <ICreateApproveAllFundingJobs>();
            _approveProviderFundingJobs      = Substitute.For <ICreateApproveBatchFundingJobs>();
            _cacheProvider = Substitute.For <ICacheProvider>();
            _specificationFundingStatusService = Substitute.For <ISpecificationFundingStatusService>();
            _prerequisiteCheckerLocator        = Substitute.For <IPrerequisiteCheckerLocator>();
            _prerequisiteChecker = Substitute.For <IPrerequisiteChecker>();
            _providerService     = Substitute.For <IProviderService>();
            _publishedFunding    = Substitute.For <IPublishedFundingRepository>();

            _service = new SpecificationPublishingService(
                SpecificationIdValidator,
                ProviderIdsValidator,
                _providerService,
                Specifications,
                ResiliencePolicies,
                _cacheProvider,
                Jobs,
                _approveSpecificationFundingJobs,
                _approveProviderFundingJobs,
                _specificationFundingStatusService,
                FundingConfigurationService,
                _prerequisiteCheckerLocator,
                _publishedFunding);

            _approveProvidersRequest = BuildApproveProvidersRequest(_ => _.WithProviders(ProviderIds));
        }
Beispiel #3
0
 public PublishBatchPrerequisiteChecker(
     ISpecificationFundingStatusService specificationFundingStatusService,
     IJobsRunning jobsRunning,
     IJobManagement jobManagement,
     ILogger logger) : base(specificationFundingStatusService, jobsRunning, jobManagement, logger)
 {
 }
        public PublishAllPrerequisiteChecker(
            ISpecificationFundingStatusService specificationFundingStatusService,
            IJobsRunning jobsRunning,
            IJobManagement jobManagement,
            ILogger logger) : base(jobsRunning, jobManagement, logger)
        {
            Guard.ArgumentNotNull(specificationFundingStatusService, nameof(specificationFundingStatusService));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _specificationFundingStatusService = specificationFundingStatusService;
            _logger = logger;
        }
        public void SetUp()
        {
            _specificationFundingStatusService = Substitute.For <ISpecificationFundingStatusService>();
            _specificationService = Substitute.For <ISpecificationService>();
            _jobsRunning          = Substitute.For <IJobsRunning>();
            _calculationApprovalCheckerService = Substitute.For <ICalculationPrerequisiteCheckerService>();
            _jobManagement = Substitute.For <IJobManagement>();
            _logger        = Substitute.For <ILogger>();

            _refreshPrerequisiteChecker = new RefreshPrerequisiteChecker(
                _specificationFundingStatusService,
                _specificationService,
                _jobsRunning,
                _calculationApprovalCheckerService,
                _jobManagement,
                _logger);
        }
Beispiel #6
0
        public void SetUp()
        {
            _logger = Substitute.For <ILogger>();
            _specificationFundingStatusService = Substitute.For <ISpecificationFundingStatusService>();
            _jobsRunning   = Substitute.For <IJobsRunning>();
            _jobManagement = Substitute.For <IJobManagement>();

            _publishPrerequisiteChecker = new PublishAllPrerequisiteChecker(_specificationFundingStatusService, _jobsRunning, _jobManagement, _logger);

            _publishedFundingPeriod = new PublishedFundingPeriod {
                Type = PublishedFundingPeriodType.AY, Period = "123"
            };

            _specification = new SpecificationSummary {
                Id = "specification"
            };
        }
        public RefreshPrerequisiteChecker(
            ISpecificationFundingStatusService specificationFundingStatusService,
            ISpecificationService specificationService,
            IJobsRunning jobsRunning,
            ICalculationPrerequisiteCheckerService calculationApprovalCheckerService,
            IJobManagement jobManagement,
            ILogger logger) : base(jobsRunning, jobManagement, logger)
        {
            Guard.ArgumentNotNull(specificationFundingStatusService, nameof(specificationFundingStatusService));
            Guard.ArgumentNotNull(specificationService, nameof(specificationService));
            Guard.ArgumentNotNull(calculationApprovalCheckerService, nameof(calculationApprovalCheckerService));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _specificationFundingStatusService = specificationFundingStatusService;
            _specificationService = specificationService;
            _calculationApprovalCheckerService = calculationApprovalCheckerService;
            _logger = logger;
        }
        public void Setup()
        {
            _publishedProviderId  = NewRandomString();
            _publishedProviderIds = new[] { _publishedProviderId };

            _publishedFundingStatusUpdateService = Substitute.For <IPublishedFundingStatusUpdateService>();
            _publishingResiliencePolicies        = new ResiliencePolicies
            {
                PublishedFundingRepository           = Policy.NoOpAsync(),
                CalculationsApiClient                = Policy.NoOpAsync(),
                SpecificationsApiClient              = Policy.NoOpAsync(),
                SpecificationsRepositoryPolicy       = Policy.NoOpAsync(),
                PublishedIndexSearchResiliencePolicy = Policy.NoOpAsync()
            };
            _specificationsApiClient           = Substitute.For <ISpecificationsApiClient>();
            _specificationService              = new SpecificationService(_specificationsApiClient, _publishingResiliencePolicies);
            _specificationFundingStatusService = Substitute.For <ISpecificationFundingStatusService>();
            _jobsRunning = Substitute.For <IJobsRunning>();
            _logger      = Substitute.For <ILogger>();
            _publishedFundingChangeDetectorService       = Substitute.For <IPublishedFundingChangeDetectorService>();
            _publishedFundingGenerator                   = Substitute.For <IPublishedFundingGenerator>();
            _publishedProviderContentsGeneratorResolver  = Substitute.For <IPublishedProviderContentsGeneratorResolver>();
            _publishedFundingContentsPersistanceService  = Substitute.For <IPublishedFundingContentsPersistanceService>();
            _publishedProviderContentsPersistanceService = Substitute.For <IPublishedProviderContentPersistanceService>();
            _publishedProviderStatusUpdateService        = Substitute.For <IPublishedProviderStatusUpdateService>();
            _publishedFundingSearchRepository            = Substitute.For <ISearchRepository <PublishedFundingIndex> >();
            _calculationsApiClient      = Substitute.For <ICalculationsApiClient>();
            _providerService            = Substitute.For <IProviderService>();
            _jobManagement              = Substitute.For <IJobManagement>();
            _prerequisiteCheckerLocator = Substitute.For <IPrerequisiteCheckerLocator>();
            _prerequisiteCheckerLocator.GetPreReqChecker(PrerequisiteCheckerType.ReleaseAllProviders)
            .Returns(new PublishAllPrerequisiteChecker(_specificationFundingStatusService, _jobsRunning, _jobManagement, _logger));
            _prerequisiteCheckerLocator.GetPreReqChecker(PrerequisiteCheckerType.ReleaseBatchProviders)
            .Returns(new PublishBatchPrerequisiteChecker(_specificationFundingStatusService, _jobsRunning, _jobManagement, _logger));
            _generateCsvJobsLocator = Substitute.For <IGeneratePublishedFundingCsvJobsCreationLocator>();
            _mapper             = Substitute.For <IMapper>();
            _transactionFactory = new TransactionFactory(_logger, new TransactionResiliencePolicies {
                TransactionPolicy = Policy.NoOpAsync()
            });
            _publishedProviderVersionService = Substitute.For <IPublishedProviderVersionService>();
            _publishedFundingDataService     = Substitute.For <IPublishedFundingDataService>();
            _policiesService                       = Substitute.For <IPoliciesService>();
            _organisationGroupGenerator            = Substitute.For <IOrganisationGroupGenerator>();
            _publishedFundingChangeDetectorService = Substitute.For <IPublishedFundingChangeDetectorService>();
            _publishedFundingDateService           = Substitute.For <IPublishedFundingDateService>();
            _publishedFundingDataService           = Substitute.For <IPublishedFundingDataService>();
            _createPublishIntegrityJob             = Substitute.For <ICreatePublishIntegrityJob>();

            _publishedFundingService = new PublishedFundingService(_publishedFundingDataService,
                                                                   _publishingResiliencePolicies,
                                                                   _policiesService,
                                                                   _organisationGroupGenerator,
                                                                   _publishedFundingChangeDetectorService,
                                                                   _publishedFundingDateService,
                                                                   _mapper,
                                                                   _logger);

            _publishService = new PublishService(_publishedFundingStatusUpdateService,
                                                 _publishingResiliencePolicies,
                                                 _specificationService,
                                                 _prerequisiteCheckerLocator,
                                                 _publishedFundingChangeDetectorService,
                                                 _publishedFundingGenerator,
                                                 _publishedProviderContentsGeneratorResolver,
                                                 _publishedFundingContentsPersistanceService,
                                                 _publishedProviderContentsPersistanceService,
                                                 _publishedProviderStatusUpdateService,
                                                 _providerService,
                                                 _publishedFundingSearchRepository,
                                                 _calculationsApiClient,
                                                 _logger,
                                                 _jobManagement,
                                                 _generateCsvJobsLocator,
                                                 _transactionFactory,
                                                 _publishedProviderVersionService,
                                                 _publishedFundingService,
                                                 _publishedFundingDataService,
                                                 _policiesService,
                                                 _createPublishIntegrityJob
                                                 );
        }