private IReadOnlyCollection <FundingStream> GetESFFundingStreamsData() { List <ISummarisationConfigProvider <FundingType> > fundingTypesProviders = new List <ISummarisationConfigProvider <FundingType> >(); var fundingTypesProvider = new FundingTypesProvider(new JsonSerializationService()); fundingTypesProviders.Add(fundingTypesProvider); return(fundingTypesProviders .FirstOrDefault(w => w.CollectionType.Equals(CollectionTypeConstants.ESF.ToString(), StringComparison.OrdinalIgnoreCase)) .Provide().Where(x => x.SummarisationType.Equals(SummarisationTypeConstants.ESF_SuppData, StringComparison.OrdinalIgnoreCase)) .SelectMany(fs => fs.FundingStreams) .ToList()); }
public void FundLineConfiguration(string summarisationType, string fspCode, int dlc, string fundLine, string lineType) { FundingTypesProvider fundingTypesProvider = NewProvider(); var fundingTypes = fundingTypesProvider.Provide(); fundingTypes.Should().Contain(ft => ft.SummarisationType == summarisationType); var fundingStreams = fundingTypes.First(ft => ft.SummarisationType == summarisationType).FundingStreams; fundingStreams.Should().Contain(fs => fs.PeriodCode == fspCode && fs.DeliverableLineCode == dlc); var fundLines = fundingStreams.First(fs => fs.PeriodCode == fspCode && fs.DeliverableLineCode == dlc).FundLines; fundLines.Should().Contain(fl => fl.Fundline == fundLine && fl.LineType == lineType); }
private static List <FundingType> GetFundingTypes() { FundingTypesProvider fundingTypesProvider = new FundingTypesProvider(new JsonSerializationService()); return(fundingTypesProvider.Provide().ToList()); }
private static ICollection <FundingType> FundingTypesConfigured() { var fundingTypesProvider = new FundingTypesProvider(new JsonSerializationService()); return(fundingTypesProvider.Provide()); }
public async Task Summarise_CheckESFMissingRecordsAdded() { int ukprn = 10001639; List <ISummarisationConfigProvider <FundingType> > fundingTypesProviders = new List <ISummarisationConfigProvider <FundingType> >(); var fundingTypesProvider = new FundingTypesProvider(new JsonSerializationService()); fundingTypesProviders.Add(fundingTypesProvider); var summarisationMessageMock = new Mock <ISummarisationMessage>(); summarisationMessageMock.SetupGet(s => s.Ukprn).Returns(ukprn); summarisationMessageMock.SetupGet(s => s.SummarisationTypes).Returns(new List <string>() { "ESF_SuppData" }); summarisationMessageMock.SetupGet(s => s.CollectionType).Returns("ESF"); summarisationMessageMock.SetupGet(s => s.ProcessType).Returns("Deliverable"); summarisationMessageMock.SetupGet(s => s.CollectionReturnCode).Returns("ESF01"); summarisationMessageMock.SetupGet(s => s.CollectionYear).Returns(2018); summarisationMessageMock.SetupGet(s => s.CollectionMonth).Returns(11); var loggerMock = new Mock <ILogger>(); var repositoryMock = new Mock <IProviderRepository>(); repositoryMock.Setup(r => r.ProvideAsync(ukprn, summarisationMessageMock.Object, It.IsAny <CancellationToken>())).Returns(Task.FromResult(GetTestProviderData(ukprn))); repositoryMock.Setup(r => r.GetAllProviderIdentifiersAsync(CollectionTypeConstants.ESF.ToString(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(GetProviderList(ukprn))); Func <IProviderRepository> providerRepositoryFunc = () => { return(repositoryMock.Object); }; var dataStorePersistenceServiceMock = new Mock <IDataStorePersistenceService>(); CollectionPeriod collectionPeriod01 = new CollectionPeriod() { ActualsSchemaPeriod = 201810, CollectionYear = 1819, CollectionMonth = 3, CalendarYear = 2018, CalendarMonth = 10 }; CollectionPeriod collectionPeriod02 = new CollectionPeriod() { ActualsSchemaPeriod = 201811, CollectionYear = 1819, CollectionMonth = 4, CalendarYear = 2018, CalendarMonth = 11 }; IEnumerable <CollectionPeriod> collectionPeriods = new List <CollectionPeriod>() { collectionPeriod01, collectionPeriod02 }; Dictionary <string, IReadOnlyCollection <IFcsContractAllocation> > fspContractAllocations = new Dictionary <string, IReadOnlyCollection <IFcsContractAllocation> >(); List <IFcsContractAllocation> fcsContractAllocations = new List <IFcsContractAllocation>() { new FcsContractAllocation() { ContractAllocationNumber = "ESF-2228", DeliveryOrganisation = "ORG0001109", ContractStartDate = 201808, ContractEndDate = 201811, DeliveryUkprn = 10001639, FundingStreamPeriodCode = "ESF1420", Id = 137964 } }; fspContractAllocations.Add("ESF1420", fcsContractAllocations); var fcsRepositoryMock = new Mock <IFcsRepository>(); fcsRepositoryMock.Setup(r => r.RetrieveAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult((IReadOnlyDictionary <string, IReadOnlyCollection <IFcsContractAllocation> >)fspContractAllocations)); List <ISummarisationService> summarisationServices = new List <ISummarisationService>() { new SummarisationDeliverableProcess() }; var collectionPeriodsProvider = new[] { new CollectionPeriodsProvider(new JsonSerializationService()) }; IEnumerable <Summarisation.Data.Output.Model.SummarisedActual> providerActuals = new List <Summarisation.Data.Output.Model.SummarisedActual>() { new Summarisation.Data.Output.Model.SummarisedActual() { ActualValue = 5.56M, ActualVolume = 3, CollectionReturnId = 16, ContractAllocationNumber = "ESF-2228", DeliverableCode = 7, FundingStreamPeriodCode = "ESF2320", OrganisationId = "ORG0001109", Period = 201809, PeriodTypeCode = "AY2" } }; var summarisedActualsRepositoryMock = new Mock <ISummarisedActualsProcessRepository>(); summarisedActualsRepositoryMock.Setup(r => r.GetLastCollectionReturnForCollectionTypeAsync(It.IsAny <string>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(GetLatestCollectionReturn())); summarisedActualsRepositoryMock.Setup(r => r.GetSummarisedActualsForCollectionReturnAndOrganisationAsync(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(providerActuals /*GetSummarisedActuals()*/)); var result = await NewSummarisationWrapper( fundingTypesProviders : fundingTypesProviders, fcsRepository : fcsRepositoryMock.Object, summarisedActualsProcessRepository : summarisedActualsRepositoryMock.Object, collectionPeriodsProviders : collectionPeriodsProvider, summarisationServices : summarisationServices, dataStorePersistenceService : dataStorePersistenceServiceMock.Object, repositoryFactory : providerRepositoryFunc, dataOptions : null, logger : loggerMock.Object) .Summarise(summarisationMessageMock.Object, CancellationToken.None); result.Should().NotBeNullOrEmpty(); result.Count().Should().BeGreaterThan(0); }