diff --git a/Tests/DocumentTests/CreditNoteTest.cs b/Tests/DocumentTests/CreditNoteTest.cs new file mode 100644 index 0000000..4394ba9 --- /dev/null +++ b/Tests/DocumentTests/CreditNoteTest.cs @@ -0,0 +1,44 @@ +using Elwig.Documents; +using Elwig.Helpers; +using Elwig.Models.Dtos; +using Microsoft.EntityFrameworkCore; + +namespace Tests.DocumentTests { + [TestFixture] + public class CreditNoteTest { + + [Test] + public async Task Test_01_VirtualCreditNote() { + using var ctx = new AppDbContext(); + var m = await ctx.Members.FindAsync(101); + var p = await ctx.MemberPayments.Where(p => p.Year == 2020 && p.AvNr == 1).SingleAsync(); + var data = await CreditNoteDeliveryData.ForPaymentVariant(ctx.CreditNoteDeliveryRows, ctx.Seasons, 2020, 1); + Console.WriteLine(data.Count); + using var doc = new CreditNote(ctx, p, data[m!.MgNr], false, false, false, + ctx.GetMemberUnderDelivery(2020, m!.MgNr).GetAwaiter().GetResult()); + var text = await Utils.GeneratePdfText(doc); + Assert.Multiple(() => { + Assert.That(text, Contains.Substring(""" + MUSTERMANN Max + Winzerstraße 1 + 2223 Hohenruppersdorf + """)); + Assert.That(text, Contains.Substring("1472583")); // Betriebsnummer + Assert.That(text, Contains.Substring("pauschaliert")); + Assert.That(text, Contains.Substring($"Wolkersdorf, am {DateTime.Now:dd.MM.yyyy}")); + Assert.That(text, Contains.Substring("Traubengutschrift Max Mustermann – Probevariante")); + Assert.That(text, Contains.Substring("AT12 3456 7890 1234 5678")); + Assert.That(text, Contains.Substring(""" + 20201001X001 1 Grüner Veltliner 73 15,0 ungeb.: 3 219 - - + 20201001X003 1 Grüner Veltliner 75 15,4 ungeb.: 2 561 - - + 20201001X003 2 Grüner Veltliner Kabinett 87 17,6 ungeb.: 3 129 - - + 20201001X003 3 Grüner Veltliner 79 16,1 ungeb.: 1 280 - - + 20201001X005 1 Welschriesling 84 17,0 ungeb.: 3 192 - - + 20201001X005 2 Welschriesling 84 17,1 ungeb.: 2 190 - - + """)); + Assert.That(text, Contains.Substring("Gesamtbetrag: € 1 000,00")); + Assert.That(text, Contains.Substring("Auszahlungsbetrag: € 1 000,00")); + }); + } + } +} diff --git a/Tests/DocumentTests/DeliveryConfirmationTest.cs b/Tests/DocumentTests/DeliveryConfirmationTest.cs index aa25f07..f076027 100644 --- a/Tests/DocumentTests/DeliveryConfirmationTest.cs +++ b/Tests/DocumentTests/DeliveryConfirmationTest.cs @@ -15,21 +15,21 @@ namespace Tests.DocumentTests { var text = await Utils.GeneratePdfText(doc); Assert.Multiple(() => { Assert.That(text, Contains.Substring(""" - MUSTERMANN Max - Winzerstraße 1 - 2223 Hohenruppersdorf - """)); + MUSTERMANN Max + Winzerstraße 1 + 2223 Hohenruppersdorf + """)); Assert.That(text, Contains.Substring("1472583")); // Betriebsnummer Assert.That(text, Contains.Substring("pauschaliert")); Assert.That(text, Contains.Substring($"Wolkersdorf, am {DateTime.Now:dd.MM.yyyy}")); Assert.That(text, Contains.Substring("Anlieferungsbestätigung 2020")); Assert.That(text, Contains.Substring(""" - 20201001X003 2 Grüner Veltliner Kabinett Kabinett 87 17,6 - 20201001X003 3 Grüner Veltliner Qualitätswein 79 16,1 - 20201001X003 1 Grüner Veltliner Qualitätswein 75 15,4 - 20201001X001 1 Grüner Veltliner Qualitätswein 73 15,0 - 20201001X005 2 Welschriesling Kabinett 84 17,1 - 20201001X005 1 Welschriesling Kabinett 84 17,0 + 20201001X003 2 Grüner Veltliner Kabinett Kabinett 87 17,6 ungeb.: 3 129 3 129 n + 20201001X003 3 Grüner Veltliner Qualitätswein 79 16,1 ungeb.: 1 280 1 280 n + 20201001X003 1 Grüner Veltliner Qualitätswein 75 15,4 ungeb.: 2 561 2 561 n + 20201001X001 1 Grüner Veltliner Qualitätswein 73 15,0 ungeb.: 3 219 3 219 n + 20201001X005 2 Welschriesling Kabinett 84 17,1 ungeb.: 2 190 2 190 n + 20201001X005 1 Welschriesling Kabinett 84 17,0 ungeb.: 3 192 3 192 n """)); Assert.That(text, Contains.Substring("Gesamt: 15 571")); Assert.That(text, Contains.Substring(""" diff --git a/Tests/DocumentTests/DeliveryNoteTest.cs b/Tests/DocumentTests/DeliveryNoteTest.cs index cb0b941..ddc41fe 100644 --- a/Tests/DocumentTests/DeliveryNoteTest.cs +++ b/Tests/DocumentTests/DeliveryNoteTest.cs @@ -39,11 +39,11 @@ namespace Tests.DocumentTests { var text = await Utils.GeneratePdfText(doc); Assert.Multiple(() => { Assert.That(text, Contains.Substring(""" - W&B Weinbauer GesbR - WEINBAUER Wernhardt - Winzerstraße 2 - 2223 Hohenruppersdorf - """)); + W&B Weinbauer GesbR + WEINBAUER Wernhardt + Winzerstraße 2 + 2223 Hohenruppersdorf + """)); Assert.That(text, Contains.Substring("4725836")); // Betriebsnummer Assert.That(text, Contains.Substring("pauschaliert")); Assert.That(text, Contains.Substring($"Wolkersdorf, am {DateTime.Now:dd.MM.yyyy}")); diff --git a/Tests/Resources/Sql/DocumentDelete.sql b/Tests/Resources/Sql/DocumentDelete.sql index a657fe6..1e48e6d 100644 --- a/Tests/Resources/Sql/DocumentDelete.sql +++ b/Tests/Resources/Sql/DocumentDelete.sql @@ -1,5 +1,6 @@ -- deletes for DocumentTests +DELETE FROM payment_variant; DELETE FROM delivery; DELETE FROM season; DELETE FROM wine_attribute; diff --git a/Tests/Resources/Sql/DocumentInsert.sql b/Tests/Resources/Sql/DocumentInsert.sql index 25a836d..bccb96d 100644 --- a/Tests/Resources/Sql/DocumentInsert.sql +++ b/Tests/Resources/Sql/DocumentInsert.sql @@ -51,3 +51,17 @@ INSERT INTO delivery_part (year, did, dpnr, sortid, attrid, cultid, weight, kmw, (2020, 11, 2, 'ZW', NULL, NULL, 3862, 17.2, 'KAB', 'WLNO', 15224, TRUE, FALSE, FALSE, NULL, NULL, NULL), (2020, 12, 1, 'BP', NULL, NULL, 2410, 18.0, 'KAB', 'WLNO', 15224, TRUE, FALSE, FALSE, NULL, NULL, NULL), (2020, 12, 2, 'BP', NULL, NULL, 2313, 18.1, 'KAB', 'WLNO', 15224, TRUE, FALSE, FALSE, NULL, NULL, NULL); + +INSERT INTO delivery_part_bucket (year, did, dpnr, bktnr, discr, value) VALUES +(2020, 1, 1, 0, '_', 3219), +(2020, 3, 1, 0, '_', 2561), +(2020, 3, 2, 0, '_', 3129), +(2020, 3, 3, 0, '_', 1280), +(2020, 5, 1, 0, '_', 3192), +(2020, 5, 2, 0, '_', 2190); + +INSERT INTO payment_variant (year, avnr, name, date, transfer_date, test_variant, calc_time, comment, data) VALUES +(2020, 1, 'Probevariante', '2021-01-15', '2021-01-15', TRUE, NULL, NULL, '{}'); + +INSERT INTO payment_member (year, avnr, mgnr, net_amount) VALUES +(2020, 1, 101, 10000000);