public CreateCalculationService(ICalculationNameInUseCheck calculationNameInUseCheck, ICalculationsRepository calculationsRepository, IVersionRepository <CalculationVersion> calculationVersionRepository, ICalcsResiliencePolicies calculationsResiliencePolicies, IValidator <CalculationCreateModel> calculationCreateModelValidator, ICacheProvider cacheProvider, ISearchRepository <CalculationIndex> searchRepository, ILogger logger, IInstructionAllocationJobCreation instructionAllocationJobCreation) { Guard.ArgumentNotNull(searchRepository, nameof(searchRepository)); Guard.ArgumentNotNull(calculationNameInUseCheck, nameof(calculationNameInUseCheck)); Guard.ArgumentNotNull(calculationsRepository, nameof(calculationsRepository)); Guard.ArgumentNotNull(calculationVersionRepository, nameof(calculationVersionRepository)); Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); Guard.ArgumentNotNull(calculationsResiliencePolicies?.CacheProviderPolicy, nameof(calculationsResiliencePolicies.CacheProviderPolicy)); Guard.ArgumentNotNull(calculationsResiliencePolicies?.CalculationsRepository, nameof(calculationsResiliencePolicies.CalculationsRepository)); Guard.ArgumentNotNull(calculationsResiliencePolicies?.CalculationsVersionsRepositoryPolicy, nameof(calculationsResiliencePolicies.CalculationsVersionsRepositoryPolicy)); _calculationNameInUseCheck = calculationNameInUseCheck; _calculationsRepository = calculationsRepository; _calculationVersionRepository = calculationVersionRepository; _logger = logger; _instructionAllocationJobCreation = instructionAllocationJobCreation; _searchRepository = searchRepository; _cacheProvider = cacheProvider; _calculationCreateModelValidator = calculationCreateModelValidator; _calculationVersionsRepositoryPolicy = calculationsResiliencePolicies.CalculationsVersionsRepositoryPolicy; _calculationRepositoryPolicy = calculationsResiliencePolicies.CalculationsRepository; _cachePolicy = calculationsResiliencePolicies.CacheProviderPolicy; _typeIdentifierGenerator = new VisualBasicTypeIdentifierGenerator(); }
public void SetUp() { _policies = Substitute.For <IPoliciesApiClient>(); _specificationApiClient = Substitute.For <ISpecificationsApiClient>(); _graphRepository = Substitute.For <IGraphRepository>(); _createCalculationService = Substitute.For <ICreateCalculationService>(); _calculationsRepository = Substitute.For <ICalculationsRepository>(); _instructionAllocationJobCreation = Substitute.For <IInstructionAllocationJobCreation>(); _calculationService = Substitute.For <ICalculationService>(); _cacheProvider = Substitute.For <ICacheProvider>(); _codeContextCache = Substitute.For <ICodeContextCache>(); _jobManagement = Substitute.For <IJobManagement>(); _userId = $"{NewRandomString()}_userId"; _userName = $"{NewRandomString()}_userName"; _correlationId = $"{NewRandomString()}_correlationId"; _specificationId = $"{NewRandomString()}_specificationId"; _fundingStreamId = $"{NewRandomString()}_fundingStreamId"; _fundingPeriodId = $"{NewRandomString()}_fundingPeriodId"; _templateVersion = $"{NewRandomString()}_templateVersion"; _jobId = $"{NewRandomString()}_jobId"; _calculationsRepository.UpdateTemplateMapping(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <TemplateMapping>()) .Returns(Task.CompletedTask); _service = new ApplyTemplateCalculationsService(_createCalculationService, _policies, new ResiliencePolicies { PoliciesApiClient = Policy.NoOpAsync(), CalculationsRepository = Policy.NoOpAsync(), CacheProviderPolicy = Policy.NoOpAsync(), SpecificationsApiClient = Policy.NoOpAsync() }, _calculationsRepository, _jobManagement, _instructionAllocationJobCreation, Substitute.For <ILogger>(), _calculationService, _cacheProvider, _specificationApiClient, _graphRepository, _codeContextCache); }
public ApplyTemplateCalculationsService( ICreateCalculationService createCalculationService, IPoliciesApiClient policiesApiClient, ICalcsResiliencePolicies calculationsResiliencePolicies, ICalculationsRepository calculationsRepository, IJobManagement jobManagement, IInstructionAllocationJobCreation instructionAllocationJobCreation, ILogger logger, ICalculationService calculationService, ICacheProvider cacheProvider, ISpecificationsApiClient specificationsApiClient, IGraphRepository graphRepository, ICodeContextCache codeContextCache) : base(jobManagement, logger) { Guard.ArgumentNotNull(instructionAllocationJobCreation, nameof(instructionAllocationJobCreation)); Guard.ArgumentNotNull(createCalculationService, nameof(createCalculationService)); Guard.ArgumentNotNull(policiesApiClient, nameof(policiesApiClient)); Guard.ArgumentNotNull(calculationsRepository, nameof(calculationsRepository)); Guard.ArgumentNotNull(calculationsResiliencePolicies?.PoliciesApiClient, nameof(calculationsResiliencePolicies.PoliciesApiClient)); Guard.ArgumentNotNull(calculationsResiliencePolicies?.CalculationsRepository, nameof(calculationsResiliencePolicies.CalculationsRepository)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(calculationService, nameof(calculationService)); Guard.ArgumentNotNull(calculationsResiliencePolicies?.CacheProviderPolicy, nameof(calculationsResiliencePolicies.CacheProviderPolicy)); Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); Guard.ArgumentNotNull(graphRepository, nameof(graphRepository)); Guard.ArgumentNotNull(specificationsApiClient, nameof(specificationsApiClient)); _createCalculationService = createCalculationService; _calculationsRepository = calculationsRepository; _policiesApiClient = policiesApiClient; _policiesResiliencePolicy = calculationsResiliencePolicies.PoliciesApiClient; _calculationsRepositoryPolicy = calculationsResiliencePolicies.CalculationsRepository; _logger = logger; _instructionAllocationJobCreation = instructionAllocationJobCreation; _calculationService = calculationService; _cachePolicy = calculationsResiliencePolicies.CacheProviderPolicy; _cacheProvider = cacheProvider; _specificationsApiClient = specificationsApiClient; _codeContextCache = codeContextCache; _specificationsApiClientPolicy = calculationsResiliencePolicies.SpecificationsApiClient; }