public void CreateResults_WithProducerConsecutivelyRemovedInNetUploadsbutLatesOnAdded_ReturnsEeeDataHistoryWithOneBlankDataRowforProducer() { // Arrange IWeeeAuthorization authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build(); var context = A.Fake <WeeeContext>(); var csvWriterFactory = A.Fake <CsvWriterFactory>(); GetProducerEeeDataHistoryCsvHandler handler = new GetProducerEeeDataHistoryCsvHandler( authorization, context, csvWriterFactory); //first upload ProducerEeeHistoryCsvData results = new ProducerEeeHistoryCsvData(); ProducerEeeHistoryCsvData.ProducerInReturnsResult upload1 = CreateEeeDataForProducer("WEE/MM0841AA", "WEE/FA0000KE/SCH", "Test Scheme", 2007, 1, new DateTime(2016, 1, 1), 100, "No"); results.ProducerReturnsHistoryData.Add(upload1); //producer removed in second upload ProducerEeeHistoryCsvData.ProducerRemovedFromReturnsResult removedUpload = CreateRemovedProducerResults("WEE/FA0000KE/SCH", 2007, new DateTime(2016, 1, 2), 1); results.ProducerRemovedFromReturnsData.Add(removedUpload); //producer removed in third upload ProducerEeeHistoryCsvData.ProducerRemovedFromReturnsResult removedUpload1 = CreateRemovedProducerResults("WEE/FA0000KE/SCH", 2007, new DateTime(2016, 1, 3), 1); results.ProducerRemovedFromReturnsData.Add(removedUpload1); //In this upload producer added back again with same data as first upload ProducerEeeHistoryCsvData.ProducerInReturnsResult upload2 = CreateEeeDataForProducer("WEE/MM0841AA", "WEE/FA0000KE/SCH", "Test Scheme", 2007, 1, new DateTime(2016, 1, 4), 200, "Yes"); results.ProducerReturnsHistoryData.Add(upload2); //Act IEnumerable <GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult> csvResults = new List <GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult>(); csvResults = handler.CreateResults(results); //Assert Assert.NotNull(csvResults); Assert.Equal(3, csvResults.Count()); Assert.Collection(csvResults, (r1) => Assert.Equal(new DateTime(2016, 1, 4), r1.SubmittedDate), (r2) => Assert.Equal(new DateTime(2016, 1, 2), r2.SubmittedDate), (r3) => Assert.Equal(new DateTime(2016, 1, 1), r3.SubmittedDate)); Assert.Collection(csvResults, (r1) => Assert.Equal("Yes", r1.LatestData), (r2) => Assert.Equal("No", r2.LatestData), (r3) => Assert.Equal("No", r3.LatestData)); Assert.Collection(csvResults, (r1) => Assert.Equal(200, r1.Cat1B2B), (r2) => Assert.Equal(null, r2.Cat1B2B), (r3) => Assert.Equal(100, r3.Cat1B2B)); }
public void CreateResults_WithProducerRemovedAfterFirstUpload_ReturnsEeeDataHistorywithLatestAsBlankDataforProducer() { // Arrange IWeeeAuthorization authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build(); var context = A.Fake <WeeeContext>(); var csvWriterFactory = A.Fake <CsvWriterFactory>(); GetProducerEeeDataHistoryCsvHandler handler = new GetProducerEeeDataHistoryCsvHandler( authorization, context, csvWriterFactory); ProducerEeeHistoryCsvData results = new ProducerEeeHistoryCsvData(); results.ProducerReturnsHistoryData.Add(CreateEeeDataForProducer("WEE/MM0841AA", "WEE/FA0000KE/SCH", "schemeB2B", 2007, 1, new DateTime(2016, 1, 1), 100, "Yes")); results.ProducerRemovedFromReturnsData.Add(CreateRemovedProducerResults("WEE/FA0000KE/SCH", 2007, new DateTime(2016, 1, 2), 1)); //Act IEnumerable <GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult> csvResults = new List <GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult>(); csvResults = handler.CreateResults(results); //Assert Assert.NotNull(csvResults); Assert.Equal(2, csvResults.Count()); Assert.Collection(csvResults, (r1) => Assert.Equal(new DateTime(2016, 1, 2), r1.SubmittedDate), (r2) => Assert.Equal(new DateTime(2016, 1, 1), r2.SubmittedDate)); Assert.Collection(csvResults, (r1) => Assert.Equal("Yes", r1.LatestData), (r2) => Assert.Equal("No", r2.LatestData)); Assert.Collection(csvResults, (r1) => Assert.Equal(null, r1.Cat1B2B), (r2) => Assert.Equal(100, r2.Cat1B2B)); }
public async void CreateResults_EeeHistoryCsvResult_PopulatedWithCorrectValues() { var authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build(); var csvWriterFactory = A.Fake<CsvWriterFactory>(); const int complianceYear = 2995; const string prn = "WEE/AW0101AW"; using (var database = new DatabaseWrapper()) { // Arrange var helper = new ModelHelper(database.Model); var organisation = helper.CreateOrganisation(); var scheme = helper.CreateScheme(organisation); var memberUpload = helper.CreateSubmittedMemberUpload(scheme); memberUpload.ComplianceYear = complianceYear; var producer1 = helper.CreateProducerAsCompany(memberUpload, prn); var dataReturnVersion = helper.CreateDataReturnVersion(scheme, complianceYear, 1); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 1, (decimal)1.01); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 2, (decimal)1.02); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 3, (decimal)1.03); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 4, (decimal)1.04); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 5, (decimal)1.05); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 6, (decimal)1.06); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 7, (decimal)1.07); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 8, (decimal)1.08); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 9, (decimal)1.09); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 10, (decimal)1.10); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 11, (decimal)1.11); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 12, (decimal)1.12); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 13, (decimal)1.13); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 14, (decimal)1.14); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 1, (decimal)2.01); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 2, (decimal)2.02); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 3, (decimal)2.03); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 4, (decimal)2.04); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 5, (decimal)2.05); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 6, (decimal)2.06); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 7, (decimal)2.07); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 8, (decimal)2.08); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 9, (decimal)2.09); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 10, (decimal)2.10); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 11, (decimal)2.11); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 12, (decimal)2.12); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 13, (decimal)2.13); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 14, (decimal)2.14); database.Model.SaveChanges(); // Act var dataAccess = new GetProducerEeeDataHistoryCsvHandler(authorization, database.WeeeContext, csvWriterFactory); var items = await database.WeeeContext.StoredProcedures.SpgProducerEeeHistoryCsvData(prn); IEnumerable<GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult> results = dataAccess.CreateResults(items); // Assert Assert.Single(results); using (IEnumerator<GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult> iterator = results.GetEnumerator()) { iterator.MoveNext(); GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult result = iterator.Current; Assert.Equal(result.PRN, prn); Assert.Equal(result.Quarter, 1); Assert.Equal(result.ComplianceYear, complianceYear); Assert.Equal(result.Cat1B2C, (decimal)1.01); Assert.Equal(result.Cat2B2C, (decimal)1.02); Assert.Equal(result.Cat3B2C, (decimal)1.03); Assert.Equal(result.Cat4B2C, (decimal)1.04); Assert.Equal(result.Cat5B2C, (decimal)1.05); Assert.Equal(result.Cat6B2C, (decimal)1.06); Assert.Equal(result.Cat7B2C, (decimal)1.07); Assert.Equal(result.Cat8B2C, (decimal)1.08); Assert.Equal(result.Cat9B2C, (decimal)1.09); Assert.Equal(result.Cat10B2C, (decimal)1.10); Assert.Equal(result.Cat11B2C, (decimal)1.11); Assert.Equal(result.Cat12B2C, (decimal)1.12); Assert.Equal(result.Cat13B2C, (decimal)1.13); Assert.Equal(result.Cat14B2C, (decimal)1.14); Assert.Equal(result.Cat1B2B, (decimal)2.01); Assert.Equal(result.Cat2B2B, (decimal)2.02); Assert.Equal(result.Cat3B2B, (decimal)2.03); Assert.Equal(result.Cat4B2B, (decimal)2.04); Assert.Equal(result.Cat5B2B, (decimal)2.05); Assert.Equal(result.Cat6B2B, (decimal)2.06); Assert.Equal(result.Cat7B2B, (decimal)2.07); Assert.Equal(result.Cat8B2B, (decimal)2.08); Assert.Equal(result.Cat9B2B, (decimal)2.09); Assert.Equal(result.Cat10B2B, (decimal)2.10); Assert.Equal(result.Cat11B2B, (decimal)2.11); Assert.Equal(result.Cat12B2B, (decimal)2.12); Assert.Equal(result.Cat13B2B, (decimal)2.13); Assert.Equal(result.Cat14B2B, (decimal)2.14); } } }
public async void CreateResults_EeeHistoryCsvResult_PopulatedWithCorrectValues() { var authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build(); var csvWriterFactory = A.Fake <CsvWriterFactory>(); const int complianceYear = 2995; const string prn = "WEE/AW0101AW"; using (var database = new DatabaseWrapper()) { // Arrange var helper = new ModelHelper(database.Model); var organisation = helper.CreateOrganisation(); var scheme = helper.CreateScheme(organisation); var memberUpload = helper.CreateSubmittedMemberUpload(scheme); memberUpload.ComplianceYear = complianceYear; var producer1 = helper.CreateProducerAsCompany(memberUpload, prn); var dataReturnVersion = helper.CreateDataReturnVersion(scheme, complianceYear, 1); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 1, (decimal)1.01); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 2, (decimal)1.02); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 3, (decimal)1.03); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 4, (decimal)1.04); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 5, (decimal)1.05); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 6, (decimal)1.06); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 7, (decimal)1.07); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 8, (decimal)1.08); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 9, (decimal)1.09); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 10, (decimal)1.10); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 11, (decimal)1.11); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 12, (decimal)1.12); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 13, (decimal)1.13); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2C", 14, (decimal)1.14); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 1, (decimal)2.01); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 2, (decimal)2.02); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 3, (decimal)2.03); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 4, (decimal)2.04); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 5, (decimal)2.05); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 6, (decimal)2.06); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 7, (decimal)2.07); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 8, (decimal)2.08); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 9, (decimal)2.09); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 10, (decimal)2.10); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 11, (decimal)2.11); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 12, (decimal)2.12); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 13, (decimal)2.13); helper.CreateEeeOutputAmount(dataReturnVersion, producer1.RegisteredProducer, "B2B", 14, (decimal)2.14); database.Model.SaveChanges(); // Act var dataAccess = new GetProducerEeeDataHistoryCsvHandler(authorization, database.WeeeContext, csvWriterFactory); var items = await database.WeeeContext.StoredProcedures.SpgProducerEeeHistoryCsvData(prn); IEnumerable <GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult> results = dataAccess.CreateResults(items); // Assert Assert.Single(results); using (IEnumerator <GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult> iterator = results.GetEnumerator()) { iterator.MoveNext(); GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult result = iterator.Current; Assert.Equal(result.PRN, prn); Assert.Equal(result.Quarter, 1); Assert.Equal(result.ComplianceYear, complianceYear); Assert.Equal(result.Cat1B2C, (decimal)1.01); Assert.Equal(result.Cat2B2C, (decimal)1.02); Assert.Equal(result.Cat3B2C, (decimal)1.03); Assert.Equal(result.Cat4B2C, (decimal)1.04); Assert.Equal(result.Cat5B2C, (decimal)1.05); Assert.Equal(result.Cat6B2C, (decimal)1.06); Assert.Equal(result.Cat7B2C, (decimal)1.07); Assert.Equal(result.Cat8B2C, (decimal)1.08); Assert.Equal(result.Cat9B2C, (decimal)1.09); Assert.Equal(result.Cat10B2C, (decimal)1.10); Assert.Equal(result.Cat11B2C, (decimal)1.11); Assert.Equal(result.Cat12B2C, (decimal)1.12); Assert.Equal(result.Cat13B2C, (decimal)1.13); Assert.Equal(result.Cat14B2C, (decimal)1.14); Assert.Equal(result.Cat1B2B, (decimal)2.01); Assert.Equal(result.Cat2B2B, (decimal)2.02); Assert.Equal(result.Cat3B2B, (decimal)2.03); Assert.Equal(result.Cat4B2B, (decimal)2.04); Assert.Equal(result.Cat5B2B, (decimal)2.05); Assert.Equal(result.Cat6B2B, (decimal)2.06); Assert.Equal(result.Cat7B2B, (decimal)2.07); Assert.Equal(result.Cat8B2B, (decimal)2.08); Assert.Equal(result.Cat9B2B, (decimal)2.09); Assert.Equal(result.Cat10B2B, (decimal)2.10); Assert.Equal(result.Cat11B2B, (decimal)2.11); Assert.Equal(result.Cat12B2B, (decimal)2.12); Assert.Equal(result.Cat13B2B, (decimal)2.13); Assert.Equal(result.Cat14B2B, (decimal)2.14); } } }
public void CreateResults_WithProducerRemovedAfterFirstUpload_ReturnsEeeDataHistorywithLatestAsBlankDataforProducer() { // Arrange IWeeeAuthorization authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build(); var context = A.Fake<WeeeContext>(); var csvWriterFactory = A.Fake<CsvWriterFactory>(); GetProducerEeeDataHistoryCsvHandler handler = new GetProducerEeeDataHistoryCsvHandler( authorization, context, csvWriterFactory); ProducerEeeHistoryCsvData results = new ProducerEeeHistoryCsvData(); results.ProducerReturnsHistoryData.Add(CreateEeeDataForProducer("WEE/MM0841AA", "WEE/FA0000KE/SCH", "schemeB2B", 2007, 1, new DateTime(2016, 1, 1), 100, "Yes")); results.ProducerRemovedFromReturnsData.Add(CreateRemovedProducerResults("WEE/FA0000KE/SCH", 2007, new DateTime(2016, 1, 2), 1)); //Act IEnumerable<GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult> csvResults = new List<GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult>(); csvResults = handler.CreateResults(results); //Assert Assert.NotNull(csvResults); Assert.Equal(2, csvResults.Count()); Assert.Collection(csvResults, (r1) => Assert.Equal(new DateTime(2016, 1, 2), r1.SubmittedDate), (r2) => Assert.Equal(new DateTime(2016, 1, 1), r2.SubmittedDate)); Assert.Collection(csvResults, (r1) => Assert.Equal("Yes", r1.LatestData), (r2) => Assert.Equal("No", r2.LatestData)); Assert.Collection(csvResults, (r1) => Assert.Equal(null, r1.Cat1B2B), (r2) => Assert.Equal(100, r2.Cat1B2B)); }
public void CreateResults_WithProducerConsecutivelyRemovedInNetUploadsbutLatesOnAdded_ReturnsEeeDataHistoryWithOneBlankDataRowforProducer() { // Arrange IWeeeAuthorization authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build(); var context = A.Fake<WeeeContext>(); var csvWriterFactory = A.Fake<CsvWriterFactory>(); GetProducerEeeDataHistoryCsvHandler handler = new GetProducerEeeDataHistoryCsvHandler( authorization, context, csvWriterFactory); //first upload ProducerEeeHistoryCsvData results = new ProducerEeeHistoryCsvData(); ProducerEeeHistoryCsvData.ProducerInReturnsResult upload1 = CreateEeeDataForProducer("WEE/MM0841AA", "WEE/FA0000KE/SCH", "Test Scheme", 2007, 1, new DateTime(2016, 1, 1), 100, "No"); results.ProducerReturnsHistoryData.Add(upload1); //producer removed in second upload ProducerEeeHistoryCsvData.ProducerRemovedFromReturnsResult removedUpload = CreateRemovedProducerResults("WEE/FA0000KE/SCH", 2007, new DateTime(2016, 1, 2), 1); results.ProducerRemovedFromReturnsData.Add(removedUpload); //producer removed in third upload ProducerEeeHistoryCsvData.ProducerRemovedFromReturnsResult removedUpload1 = CreateRemovedProducerResults("WEE/FA0000KE/SCH", 2007, new DateTime(2016, 1, 3), 1); results.ProducerRemovedFromReturnsData.Add(removedUpload1); //In this upload producer added back again with same data as first upload ProducerEeeHistoryCsvData.ProducerInReturnsResult upload2 = CreateEeeDataForProducer("WEE/MM0841AA", "WEE/FA0000KE/SCH", "Test Scheme", 2007, 1, new DateTime(2016, 1, 4), 200, "Yes"); results.ProducerReturnsHistoryData.Add(upload2); //Act IEnumerable<GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult> csvResults = new List<GetProducerEeeDataHistoryCsvHandler.EeeHistoryCsvResult>(); csvResults = handler.CreateResults(results); //Assert Assert.NotNull(csvResults); Assert.Equal(3, csvResults.Count()); Assert.Collection(csvResults, (r1) => Assert.Equal(new DateTime(2016, 1, 4), r1.SubmittedDate), (r2) => Assert.Equal(new DateTime(2016, 1, 2), r2.SubmittedDate), (r3) => Assert.Equal(new DateTime(2016, 1, 1), r3.SubmittedDate)); Assert.Collection(csvResults, (r1) => Assert.Equal("Yes", r1.LatestData), (r2) => Assert.Equal("No", r2.LatestData), (r3) => Assert.Equal("No", r3.LatestData)); Assert.Collection(csvResults, (r1) => Assert.Equal(200, r1.Cat1B2B), (r2) => Assert.Equal(null, r2.Cat1B2B), (r3) => Assert.Equal(100, r3.Cat1B2B)); }