public PublishIntegrityCheckService(IJobManagement jobManagement, ILogger logger, ISpecificationService specificationService, IProviderService providerService, IPublishedFundingContentsPersistanceService publishedFundingContentsPersistanceService, IPublishedProviderContentPersistanceService publishedProviderContentsPersistanceService, IPublishingResiliencePolicies publishingResiliencePolicies, IPublishedFundingDataService publishedFundingDataService, IPoliciesService policiesService, ICalculationsApiClient calculationsApiClient, IPublishedFundingService publishedFundingService, IPublishedProviderContentsGeneratorResolver publishedProviderContentsGeneratorResolver, IPublishedFundingVersionDataService publishedFundingVersionDataService) : base(jobManagement, logger) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(specificationService, nameof(specificationService)); Guard.ArgumentNotNull(publishedFundingContentsPersistanceService, nameof(publishedFundingContentsPersistanceService)); Guard.ArgumentNotNull(publishedProviderContentsPersistanceService, nameof(publishedProviderContentsPersistanceService)); Guard.ArgumentNotNull(providerService, nameof(providerService)); Guard.ArgumentNotNull(publishedFundingDataService, nameof(publishedFundingDataService)); Guard.ArgumentNotNull(publishingResiliencePolicies.PublishedFundingRepository, nameof(publishingResiliencePolicies.PublishedFundingRepository)); Guard.ArgumentNotNull(policiesService, nameof(policiesService)); Guard.ArgumentNotNull(calculationsApiClient, nameof(calculationsApiClient)); Guard.ArgumentNotNull(publishingResiliencePolicies.CalculationsApiClient, nameof(publishingResiliencePolicies.CalculationsApiClient)); Guard.ArgumentNotNull(publishedFundingService, nameof(publishedFundingService)); Guard.ArgumentNotNull(publishedProviderContentsGeneratorResolver, nameof(publishedProviderContentsGeneratorResolver)); Guard.ArgumentNotNull(publishedFundingVersionDataService, nameof(publishedFundingVersionDataService)); _logger = logger; _calculationsApiClient = calculationsApiClient; _calculationsApiClientPolicy = publishingResiliencePolicies.CalculationsApiClient; _specificationService = specificationService; _publishedFundingContentsPersistanceService = publishedFundingContentsPersistanceService; _publishedProviderContentsPersistanceService = publishedProviderContentsPersistanceService; _providerService = providerService; _publishedFundingDataService = publishedFundingDataService; _publishingResiliencePolicy = publishingResiliencePolicies.PublishedFundingRepository; _policiesService = policiesService; _publishedProviderContentsGeneratorResolver = publishedProviderContentsGeneratorResolver; _publishedFundingVersionDataService = publishedFundingVersionDataService; }
public void Setup() { _publishedProviderId = NewRandomString(); _publishedProviderIds = new[] { _publishedProviderId }; _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>(); _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)); _mapper = Substitute.For <IMapper>(); _publishedFundingDataService = Substitute.For <IPublishedFundingDataService>(); _policiesService = Substitute.For <IPoliciesService>(); _organisationGroupGenerator = Substitute.For <IOrganisationGroupGenerator>(); _publishedFundingChangeDetectorService = Substitute.For <IPublishedFundingChangeDetectorService>(); _publishedFundingDateService = Substitute.For <IPublishedFundingDateService>(); _publishedFundingDataService = Substitute.For <IPublishedFundingDataService>(); _publishedFundingVersionDataService = Substitute.For <IPublishedFundingVersionDataService>(); _publishedFundingService = new PublishedFundingService(_publishedFundingDataService, _publishingResiliencePolicies, _policiesService, _organisationGroupGenerator, _publishedFundingChangeDetectorService, _publishedFundingDateService, _mapper, _logger); _publishIntegrityService = new PublishIntegrityCheckService(_jobManagement, _logger, _specificationService, _providerService, _publishedFundingContentsPersistanceService, _publishedProviderContentsPersistanceService, _publishingResiliencePolicies, _publishedFundingDataService, _policiesService, _calculationsApiClient, _publishedFundingService, _publishedProviderContentsGeneratorResolver, _publishedFundingVersionDataService ); }