public void CreateResults_WithNoDeliveredAmounts_PopulatesTotalAsNull() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult { SchemeId = Guid.NewGuid() }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), A.Dummy <IWeeeAuthorization>(), A.Dummy <CsvWriterFactory>()); // Act IEnumerable <GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, new List <string>() { "AATF1" }, new List <string>() { "AE1" }); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(null, result1.TotalDelivered); }
public async Task HandleAsync_WithSchemeSpecified_GeneratesCorrectFileName() { IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); IStoredProcedures storedProcedures = A.Fake <IStoredProcedures>(); SpgSchemeWeeeCsvResult storedProcedureResult = new SpgSchemeWeeeCsvResult(); storedProcedureResult.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("C5AD2FF9-941D-4D6F-B68B-9805DD7E1FD1"), ApprovalNumber = "WEE/AA1111AA/SCH" }); A.CallTo(() => storedProcedures.SpgSchemeWeeeCsvAsync(A <int> ._, A <Guid?> ._, A <string> ._)) .Returns(storedProcedureResult); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( storedProcedures, authorization, A.Dummy <CsvWriterFactory>()); GetSchemeWeeeCsv request = new GetSchemeWeeeCsv(2016, new Guid("C5AD2FF9-941D-4D6F-B68B-9805DD7E1FD1"), ObligationType.B2C); // Act SystemTime.Freeze(new DateTime(2016, 12, 31, 23, 59, 0)); FileInfo result = await handler.HandleAsync(request); SystemTime.Unfreeze(); // Assert Assert.Equal("2016_WEEAA1111AASCH_B2C_schemeWEEE_31122016_2359.csv", result.FileName); }
public void CreateResults_WithCollectedAmountWithSourceType2_PopulatesFinalHoldersWithValue() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2") }); data.CollectedAmounts.Add(new SpgSchemeWeeeCsvResult.CollectedAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 1, SourceType = 2, Tonnage = 123.456m }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), A.Dummy <IWeeeAuthorization>(), A.Dummy <CsvWriterFactory>()); // Act IEnumerable <GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, A.Dummy <IEnumerable <string> >(), A.Dummy <IEnumerable <string> >()); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(123.456m, result1.FinalHolders); }
public void CreateResults_WithNoCollectedAmounts_PopulatesFinalHoldersAsNull() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult { SchemeId = Guid.NewGuid() }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), A.Dummy <IWeeeAuthorization>(), A.Dummy <CsvWriterFactory>()); // Act IEnumerable <GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, A.Dummy <IEnumerable <string> >(), A.Dummy <IEnumerable <string> >()); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(null, result1.FinalHolders); }
public async Task HandleAsync_WithNonInternalUser_ThrowsSecurityException() { // Arrange IWeeeAuthorization authorization = new AuthorizationBuilder().DenyInternalAreaAccess().Build(); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), authorization, A.Dummy <CsvWriterFactory>()); GetSchemeWeeeCsv request = new GetSchemeWeeeCsv(A.Dummy <int>(), A.Dummy <Guid?>(), A.Dummy <ObligationType>()); // Act Func <Task <FileInfo> > testCode = async() => await handler.HandleAsync(request); // Assert await Assert.ThrowsAsync <SecurityException>(testCode); }
public async Task HandleAsync_WithNonInternalUser_ThrowsSecurityException() { // Arrange IWeeeAuthorization authorization = new AuthorizationBuilder().DenyInternalAreaAccess().Build(); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), authorization, A.Dummy<CsvWriterFactory>()); GetSchemeWeeeCsv request = new GetSchemeWeeeCsv(A.Dummy<int>(), A.Dummy<Guid?>(), A.Dummy<ObligationType>()); // Act Func<Task<FileInfo>> testCode = async () => await handler.HandleAsync(request); // Assert await Assert.ThrowsAsync<SecurityException>(testCode); }
public void CreateResults_WithDeliveredAmountForLocationType1_PopulatesAeAmountAndTotal() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2") }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 1, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 123.456m }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), A.Dummy <IWeeeAuthorization>(), A.Dummy <CsvWriterFactory>()); // Act IEnumerable <GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, new List <string>() { "AATF1" }, new List <string>() { "AE1" }); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(123.456m, result1.AeTonnage["AE1"]); Assert.Equal(123.456m, result1.TotalDelivered); }
public async Task HandleAsync_WithNoSchemeSpecified_GeneratesCorrectFileName() { // Arrange IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), authorization, A.Dummy<CsvWriterFactory>()); GetSchemeWeeeCsv request = new GetSchemeWeeeCsv(2016, null, ObligationType.B2C); // Act SystemTime.Freeze(new DateTime(2016, 12, 31, 23, 59, 0)); FileInfo result = await handler.HandleAsync(request); SystemTime.Unfreeze(); // Assert Assert.Equal("2016_B2C_schemeWEEE_31122016_2359.csv", result.FileName); }
public void CreateResults_WithOneScheme_CreatesAResultForEachCategoryAndEachQuarter() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult { SchemeId = Guid.NewGuid() }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), A.Dummy <IWeeeAuthorization>(), A.Dummy <CsvWriterFactory>()); // Act IEnumerable <GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, A.Dummy <IEnumerable <string> >(), A.Dummy <IEnumerable <string> >()); // Assert Assert.Equal(56, results.Count()); Assert.Collection(results.Take(15), // Just examine the first 15 rows r => { Assert.Equal(1, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(2, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(3, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(4, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(5, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(6, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(7, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(8, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(9, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(10, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(11, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(12, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(13, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(14, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(1, r.Category); Assert.Equal(2, r.QuarterType); }); // etc... }
public void CreateWriter_WithB2C_CreatesExpectedColumns() { // Arrange GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), A.Dummy <IWeeeAuthorization>(), A.Dummy <CsvWriterFactory>()); List <string> aatfLocations = new List <string>() { "AATF1", "AATF2" }; List <string> aaeLocations = new List <string>() { "AE1", "AE2" }; // Act CsvWriter <GetSchemeWeeeCsvHandler.CsvResult> result = handler.CreateWriter( ObligationType.B2C, aatfLocations, aaeLocations); // Assert Assert.Collection(result.ColumnTitles, title => Assert.Equal("Scheme name", title), title => Assert.Equal("Scheme approval No", title), title => Assert.Equal("Quarter", title), title => Assert.Equal("Category", title), title => Assert.Equal("DCF (t)", title), title => Assert.Equal("Distributors (t)", title), title => Assert.Equal("Final holders (t)", title), title => Assert.Equal("Total AATF/AE (t)", title), title => Assert.Equal("AATF1 (t)", title), title => Assert.Equal("AATF2 (t)", title), title => Assert.Equal("AE1 (t)", title), title => Assert.Equal("AE2 (t)", title)); }
public async Task HandleAsync_WithNoSchemeSpecified_GeneratesCorrectFileName() { // Arrange IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), authorization, A.Dummy <CsvWriterFactory>()); GetSchemeWeeeCsv request = new GetSchemeWeeeCsv(2016, null, ObligationType.B2C); // Act SystemTime.Freeze(new DateTime(2016, 12, 31, 23, 59, 0)); FileInfo result = await handler.HandleAsync(request); SystemTime.Unfreeze(); // Assert Assert.Equal("2016_B2C_schemeWEEE_31122016_2359.csv", result.FileName); }
public void CreateResults_WithMultipleSchemes_OrdersSchemesBySchemeName() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeName = "Scheme B", SchemeId = Guid.NewGuid() }); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeName = "Scheme A", SchemeId = Guid.NewGuid() }); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeName = "Scheme C", SchemeId = Guid.NewGuid() }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), A.Dummy <IWeeeAuthorization>(), A.Dummy <CsvWriterFactory>()); // Act IEnumerable <GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, A.Dummy <IEnumerable <string> >(), A.Dummy <IEnumerable <string> >()); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal("Scheme A", result1.SchemeName); }
public async void GivenVariousDifferingParameters_RunningTimeIsUnderTenSeconds(int complianceYear, ObligationType obligationType) { using (var databaseWrapper = new DatabaseWrapper()) { // Arrange Stopwatch stopWatch = new Stopwatch(); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( databaseWrapper.WeeeContext.StoredProcedures, AuthorizationBuilder.CreateUserWithAllRights(), new CsvWriterFactory(new NoFormulaeExcelSanitizer())); // Act GetSchemeWeeeCsv request = new GetSchemeWeeeCsv(complianceYear, null, obligationType); stopWatch.Start(); await handler.HandleAsync(request); stopWatch.Stop(); // Assert Assert.InRange(stopWatch.ElapsedMilliseconds, 0, 10000); } }
public async Task HandleAsync_WithSchemeSpecified_GeneratesCorrectFileName() { IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); IStoredProcedures storedProcedures = A.Fake<IStoredProcedures>(); SpgSchemeWeeeCsvResult storedProcedureResult = new SpgSchemeWeeeCsvResult(); storedProcedureResult.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("C5AD2FF9-941D-4D6F-B68B-9805DD7E1FD1"), ApprovalNumber = "WEE/AA1111AA/SCH" }); A.CallTo(() => storedProcedures.SpgSchemeWeeeCsvAsync(A<int>._, A<Guid?>._, A<string>._)) .Returns(storedProcedureResult); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( storedProcedures, authorization, A.Dummy<CsvWriterFactory>()); GetSchemeWeeeCsv request = new GetSchemeWeeeCsv(2016, new Guid("C5AD2FF9-941D-4D6F-B68B-9805DD7E1FD1"), ObligationType.B2C); // Act SystemTime.Freeze(new DateTime(2016, 12, 31, 23, 59, 0)); FileInfo result = await handler.HandleAsync(request); SystemTime.Unfreeze(); // Assert Assert.Equal("2016_WEEAA1111AASCH_B2C_schemeWEEE_31122016_2359.csv", result.FileName); }
public void CreateResults_WithDeliveredAmountsForVariousSchemesCategoriesAndQuarters_SumsAmountsAndPopulatesTotals() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), SchemeName = "Scheme 1" }); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("9E1EE29C-5FFD-4137-BA55-98C0F0F7212D"), SchemeName = "Scheme 2" }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 1, LocationType = 0, LocationApprovalNumber = "AATF1", Tonnage = 1 }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 1, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 2 }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 4, WeeeCategory = 1, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 9999 }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 14, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 9999 }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("9E1EE29C-5FFD-4137-BA55-98C0F0F7212D"), QuarterType = 1, WeeeCategory = 1, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 9999 }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), A.Dummy<IWeeeAuthorization>(), A.Dummy<CsvWriterFactory>()); // Act IEnumerable<GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, new List<string>() { "AATF1" }, new List<string>() { "AE1" }); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(3, result1.TotalDelivered); }
public void CreateResults_WithMultipleSchemes_OrdersSchemesBySchemeName() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeName = "Scheme B", SchemeId = Guid.NewGuid() }); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeName = "Scheme A", SchemeId = Guid.NewGuid() }); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeName = "Scheme C", SchemeId = Guid.NewGuid() }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), A.Dummy<IWeeeAuthorization>(), A.Dummy<CsvWriterFactory>()); // Act IEnumerable<GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, A.Dummy<IEnumerable<string>>(), A.Dummy<IEnumerable<string>>()); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal("Scheme A", result1.SchemeName); }
public void CreateResults_WithDeliveredAmountsForVariousSchemesCategoriesAndQuarters_SumsAmountsAndPopulatesTotals() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), SchemeName = "Scheme 1" }); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("9E1EE29C-5FFD-4137-BA55-98C0F0F7212D"), SchemeName = "Scheme 2" }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 1, LocationType = 0, LocationApprovalNumber = "AATF1", Tonnage = 1 }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 1, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 2 }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 4, WeeeCategory = 1, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 9999 }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 14, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 9999 }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("9E1EE29C-5FFD-4137-BA55-98C0F0F7212D"), QuarterType = 1, WeeeCategory = 1, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 9999 }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy <IStoredProcedures>(), A.Dummy <IWeeeAuthorization>(), A.Dummy <CsvWriterFactory>()); // Act IEnumerable <GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, new List <string>() { "AATF1" }, new List <string>() { "AE1" }); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(3, result1.TotalDelivered); }
public void CreateResults_WithDeliveredAmountForLocationType1_PopulatesAeAmountAndTotal() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2") }); data.DeliveredAmounts.Add(new SpgSchemeWeeeCsvResult.DeliveredAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 1, LocationType = 1, LocationApprovalNumber = "AE1", Tonnage = 123.456m }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), A.Dummy<IWeeeAuthorization>(), A.Dummy<CsvWriterFactory>()); // Act IEnumerable<GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, new List<string>() { "AATF1" }, new List<string>() { "AE1" }); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(123.456m, result1.AeTonnage["AE1"]); Assert.Equal(123.456m, result1.TotalDelivered); }
public void CreateResults_WithNoDeliveredAmounts_PopulatesTotalAsNull() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult { SchemeId = Guid.NewGuid() }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), A.Dummy<IWeeeAuthorization>(), A.Dummy<CsvWriterFactory>()); // Act IEnumerable<GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, new List<string>() { "AATF1" }, new List<string>() { "AE1" }); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(null, result1.TotalDelivered); }
public void CreateResults_WithCollectedAmountWithSourceType2_PopulatesFinalHoldersWithValue() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2") }); data.CollectedAmounts.Add(new SpgSchemeWeeeCsvResult.CollectedAmountResult() { SchemeId = new Guid("3E299215-BA37-403F-B398-EB345371F3D2"), QuarterType = 1, WeeeCategory = 1, SourceType = 2, Tonnage = 123.456m }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), A.Dummy<IWeeeAuthorization>(), A.Dummy<CsvWriterFactory>()); // Act IEnumerable<GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, A.Dummy<IEnumerable<string>>(), A.Dummy<IEnumerable<string>>()); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(123.456m, result1.FinalHolders); }
public void CreateResults_WithNoCollectedAmounts_PopulatesFinalHoldersAsNull() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult { SchemeId = Guid.NewGuid() }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), A.Dummy<IWeeeAuthorization>(), A.Dummy<CsvWriterFactory>()); // Act IEnumerable<GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, A.Dummy<IEnumerable<string>>(), A.Dummy<IEnumerable<string>>()); // Assert GetSchemeWeeeCsvHandler.CsvResult result1 = results.First(); Assert.Equal(null, result1.FinalHolders); }
public void CreateWriter_WithB2B_CreatesExpectedColumns() { // Arrange List<string> aatfLocations = new List<string>() { "AATF1", "AATF2" }; List<string> aaeLocations = new List<string>() { "AE1", "AE2" }; GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), A.Dummy<IWeeeAuthorization>(), A.Dummy<CsvWriterFactory>()); // Act CsvWriter<GetSchemeWeeeCsvHandler.CsvResult> result = handler.CreateWriter( ObligationType.B2B, aatfLocations, aaeLocations); // Assert Assert.Collection(result.ColumnTitles, title => Assert.Equal("Scheme name", title), title => Assert.Equal("Scheme approval No", title), title => Assert.Equal("Quarter", title), title => Assert.Equal("Category", title), title => Assert.Equal("DCF (t)", title), title => Assert.Equal("Total AATF/AE (t)", title), title => Assert.Equal("AATF1 (t)", title), title => Assert.Equal("AATF2 (t)", title), title => Assert.Equal("AE1 (t)", title), title => Assert.Equal("AE2 (t)", title)); }
public void CreateResults_WithOneScheme_CreatesAResultForEachCategoryAndEachQuarter() { // Arrange SpgSchemeWeeeCsvResult data = new SpgSchemeWeeeCsvResult(); data.Schemes.Add(new SpgSchemeWeeeCsvResult.SchemeResult { SchemeId = Guid.NewGuid() }); GetSchemeWeeeCsvHandler handler = new GetSchemeWeeeCsvHandler( A.Dummy<IStoredProcedures>(), A.Dummy<IWeeeAuthorization>(), A.Dummy<CsvWriterFactory>()); // Act IEnumerable<GetSchemeWeeeCsvHandler.CsvResult> results = handler.CreateResults( data, A.Dummy<IEnumerable<string>>(), A.Dummy<IEnumerable<string>>()); // Assert Assert.Equal(56, results.Count()); Assert.Collection(results.Take(15), // Just examine the first 15 rows r => { Assert.Equal(1, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(2, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(3, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(4, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(5, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(6, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(7, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(8, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(9, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(10, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(11, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(12, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(13, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(14, r.Category); Assert.Equal(1, r.QuarterType); }, r => { Assert.Equal(1, r.Category); Assert.Equal(2, r.QuarterType); }); // etc... }