public void BuildModelTest() { var ukDateTime = new DateTime(2020, 1, 1, 1, 1, 1); var reportServiceContextMock = new Mock <IOperationsReportServiceContext>(0); reportServiceContextMock.SetupGet(x => x.JobId).Returns(1); reportServiceContextMock.SetupGet(x => x.CollectionYear).Returns(1920); reportServiceContextMock.SetupGet(x => x.Period).Returns(13); reportServiceContextMock.SetupGet(x => x.ReturnPeriodName).Returns("R13"); var dateTimeProviderMock = new Mock <IDateTimeProvider>(); dateTimeProviderMock.Setup(p => p.ConvertUtcToUk(It.IsAny <DateTime>())).Returns(ukDateTime); var collectionDetail = new CollectionDetailBuilder().Build(); var org1 = new OrganisationCollectionBuilder().With(x => x.Ukprn, 12345678).Build(); var org2 = new OrganisationCollectionBuilder().With(x => x.Ukprn, 87654321).Build(); var org3 = new OrganisationCollectionBuilder().With(x => x.Ukprn, 11111111).Build(); var org4 = new OrganisationCollectionBuilder().With(x => x.Ukprn, 99999999).Build(); var expectedProviders = new List <OrganisationCollection>() { org1, org2, org3, org4 }; var fundingClaimSubmission1 = new FundingClaimsSubmissionBuilder().With(x => x.Ukprn, 12345678).With(x => x.IsSigned, false).Build(); var fundingClaimSubmission2 = new FundingClaimsSubmissionBuilder(new Guid("18BD2CBD-FB97-447D-860A-FEAB8D03A5EA")).With(x => x.Ukprn, 87654321).Build(); var fundingClaimsSubmissions = new List <FundingClaimsSubmission>() { fundingClaimSubmission1, fundingClaimSubmission2 }; var orgModel1 = new OrgModelBuilder().With(x => x.Ukprn, 12345678).With(x => x.Name, "Provider1").Build(); var orgModel2 = new OrgModelBuilder().With(x => x.Ukprn, 87654321).With(x => x.Name, "Provider2").Build(); var orgModel3 = new OrgModelBuilder().With(x => x.Ukprn, 11111111).With(x => x.Name, "Provider3").Build(); var orgModel4 = new OrgModelBuilder().With(x => x.Ukprn, 99999999).With(x => x.Name, "Provider4").Build(); var orgDetails = new Dictionary <int, OrgModel>() { { 12345678, orgModel1 }, { 87654321, orgModel2 }, { 11111111, orgModel3 }, { 99999999, orgModel4 }, }; var result = NewBuilder(dateTimeProviderMock.Object).Build(collectionDetail, expectedProviders, fundingClaimsSubmissions, orgDetails, CancellationToken.None); result.FundingClaim.Should().Be("Funding Claims Display Title"); result.FundingClaimsSubmissionsDetails.Count.Should().Be(4); result.NoOfExpectedProvidersNotReturning.Should().Be(2); result.NoOfProvidersExpectedToReturn.Should().Be(4); result.NoOfReturningExpectedProviders.Should().Be(2); result.NoOfReturningUnexpectedProviders.Should().Be(0); result.TotalNoOfReturningProviders.Should().Be(2); result.ReportRun.Should().Be("01/01/2020 01:01:01"); result.FundingClaimsSubmissionsDetails[0].ProviderName.Should().Be("Provider1"); result.FundingClaimsSubmissionsDetails[0].ExpectedToReturnInCurrentPeriod.Should().Be("Yes"); result.FundingClaimsSubmissionsDetails[0].Signed.Should().Be("No"); result.FundingClaimsSubmissionsDetails[0].AEB19TRLS1920ProcuredClaimed.Should().Be(50); result.FundingClaimsSubmissionsDetails[0].AEB19TRLS1920ProcuredContractValue.Should().Be(51); result.FundingClaimsSubmissionsDetails[0].AEBASLS1920ProcuredClaimed.Should().Be(40); result.FundingClaimsSubmissionsDetails[0].AEBASLS1920ProcuredContractValue.Should().Be(41); result.FundingClaimsSubmissionsDetails[0].AEBC19TRN1920Claimed.Should().Be(30); result.FundingClaimsSubmissionsDetails[0].AEBC19TRN1920ContractValue.Should().Be(31); result.FundingClaimsSubmissionsDetails[0].AEBCASCL1920Claimed.Should().Be(20); result.FundingClaimsSubmissionsDetails[0].AEBCASCL1920ContractValue.Should().Be(21); result.FundingClaimsSubmissionsDetails[0].ALLBC1920Claimed.Should().Be(10); result.FundingClaimsSubmissionsDetails[0].ALLBC1920ContractValue.Should().Be(11); result.FundingClaimsSubmissionsDetails[0].ED1920Claimed1619.Should().Be(60); result.FundingClaimsSubmissionsDetails[0].ED1920ContractValue1619.Should().Be(61); result.FundingClaimsSubmissionsDetails[1].ProviderName.Should().Be("Provider2"); result.FundingClaimsSubmissionsDetails[1].Signed.Should().Be("Yes"); result.FundingClaimsSubmissionsDetails[1].AEB19TRLS1920ProcuredClaimed.Should().Be(50); result.FundingClaimsSubmissionsDetails[1].AEB19TRLS1920ProcuredContractValue.Should().Be(51); result.FundingClaimsSubmissionsDetails[1].AEBASLS1920ProcuredClaimed.Should().Be(40); result.FundingClaimsSubmissionsDetails[1].AEBASLS1920ProcuredContractValue.Should().Be(41); result.FundingClaimsSubmissionsDetails[2].ProviderName.Should().Be("Provider3"); result.FundingClaimsSubmissionsDetails[2].AEB19TRLS1920ProcuredClaimed.Should().Be(0); result.FundingClaimsSubmissionsDetails[2].AEB19TRLS1920ProcuredContractValue.Should().Be(0); result.FundingClaimsSubmissionsDetails[2].AEBASLS1920ProcuredClaimed.Should().Be(0); result.FundingClaimsSubmissionsDetails[2].AEBASLS1920ProcuredContractValue.Should().Be(0); result.FundingClaimsSubmissionsDetails[3].ProviderName.Should().Be("Provider4"); result.FundingClaimsSubmissionsDetails[3].AEB19TRLS1920ProcuredClaimed.Should().Be(0); result.FundingClaimsSubmissionsDetails[3].AEB19TRLS1920ProcuredContractValue.Should().Be(0); result.FundingClaimsSubmissionsDetails[3].AEBASLS1920ProcuredClaimed.Should().Be(0); result.FundingClaimsSubmissionsDetails[3].AEBASLS1920ProcuredContractValue.Should().Be(0); }
public void BuildModelTest() { var ukDateTime = new DateTime(2020, 1, 1, 1, 1, 1); var reportServiceContextMock = new Mock <IOperationsReportServiceContext>(0); reportServiceContextMock.SetupGet(x => x.JobId).Returns(1); reportServiceContextMock.SetupGet(x => x.CollectionYear).Returns(1920); reportServiceContextMock.SetupGet(x => x.Period).Returns(13); reportServiceContextMock.SetupGet(x => x.ReturnPeriodName).Returns("R13"); var dateTimeProviderMock = new Mock <IDateTimeProvider>(); dateTimeProviderMock.Setup(p => p.ConvertUtcToUk(It.IsAny <DateTime>())).Returns(ukDateTime); var collectionDetail = new CollectionDetailBuilder().Build(); var org1 = new OrganisationCollectionBuilder().With(x => x.Ukprn, 12345678).Build(); var org2 = new OrganisationCollectionBuilder().With(x => x.Ukprn, 87654321).Build(); var org3 = new OrganisationCollectionBuilder().With(x => x.Ukprn, 11111111).Build(); var org4 = new OrganisationCollectionBuilder().With(x => x.Ukprn, 99999999).Build(); var expectedProviders = new List <OrganisationCollection>() { org1, org2, org3, org4, }; var fundingClaimsDataExtractResultSet1 = new FundingClaimsDataExtractResultSetBuilder().With(x => x.Ukprn, 12345678).With <byte>(x => x.Signed, 1).Build(); var fundingClaimsDataExtractResultSet2 = new FundingClaimsDataExtractResultSetBuilder() .With(x => x.Ukprn, 87654321) .With(x => x.DeliverableCode, 1002) .With(x => x.Description, "Up to 279 hours (Band 1)") .With(x => x.StudentNumbers, 21) .With(x => x.SubmissionValueFundingStreamPeriodCode, "AEBC-19TRN1920") .With(x => x.ContractAllocationNumber, "16ED - 1167") .With <byte>(x => x.Signed, 0) .With(x => x.TotalDelivery, 10000).Build(); var fundingClaimsDataExtractResultSets = new List <FundingClaimsDataExtractResultSet>() { fundingClaimsDataExtractResultSet1, fundingClaimsDataExtractResultSet2, }; var orgModel1 = new OrgModelBuilder().With(x => x.Ukprn, 12345678).With(x => x.Name, "Provider1").Build(); var orgModel2 = new OrgModelBuilder().With(x => x.Ukprn, 87654321).With(x => x.Name, "Provider2").Build(); var orgDetails = new Dictionary <int, OrgModel>() { { 12345678, orgModel1 }, { 87654321, orgModel2 }, }; var result = NewBuilder(dateTimeProviderMock.Object).Build(collectionDetail, fundingClaimsDataExtractResultSets, orgDetails, CancellationToken.None); result.FundingClaimsDataExtract[0].Ukprn.Should().Be(12345678); result.FundingClaimsDataExtract[0].ProviderName.Should().Be("Provider1"); result.FundingClaimsDataExtract[0].CollectionPeriod.Should().Be("FC03"); result.FundingClaimsDataExtract[0].Declaration.Should().Be(1); result.FundingClaimsDataExtract[0].CovidDeclaration.Should().Be(1); result.FundingClaimsDataExtract[0].UpdatedOn.Should().Be("01/01/2020 00:00:00"); result.FundingClaimsDataExtract[0].FundingStreamPeriodCode.Should().Be("1619ED1920"); result.FundingClaimsDataExtract[0].DeliverableCode.Should().Be(1001); result.FundingClaimsDataExtract[0].DeliverableDescription.Should().Be("540+ hours (Band 5)"); result.FundingClaimsDataExtract[0].StudentNumbers.Should().Be(15); result.FundingClaimsDataExtract[0].DeliveryToDate.Should().Be(90.5M); result.FundingClaimsDataExtract[0].ForecastedDelivery.Should().Be(150M); result.FundingClaimsDataExtract[0].ExceptionalAdjustments.Should().Be(20M); result.FundingClaimsDataExtract[0].TotalDelivery.Should().Be(1500M); result.FundingClaimsDataExtract[0].ContractAllocationNumber.Should().Be("ALLC-4391"); result.FundingClaimsDataExtract[0].MaximumContractValue.Should().Be(1000); result.FundingClaimsDataExtract[0].Signed.Should().Be(1); result.FundingClaimsDataExtract[1].Ukprn.Should().Be(87654321); result.FundingClaimsDataExtract[1].ProviderName.Should().Be("Provider2"); result.FundingClaimsDataExtract[1].CollectionPeriod.Should().Be("FC03"); result.FundingClaimsDataExtract[1].CovidDeclaration.Should().Be(1); result.FundingClaimsDataExtract[1].FundingStreamPeriodCode.Should().Be("AEBC-19TRN1920"); result.FundingClaimsDataExtract[1].DeliverableCode.Should().Be(1002); result.FundingClaimsDataExtract[1].DeliverableDescription.Should().Be("Up to 279 hours (Band 1)"); result.FundingClaimsDataExtract[1].StudentNumbers.Should().Be(21); result.FundingClaimsDataExtract[1].TotalDelivery.Should().Be(10000); result.FundingClaimsDataExtract[1].ContractAllocationNumber.Should().Be("16ED - 1167"); result.FundingClaimsDataExtract[1].Signed.Should().Be(0); }