Tests: Add CreditNoteTest

This commit is contained in:
2024-03-30 12:42:22 +01:00
parent bce709efe4
commit 80e91ad776
5 changed files with 74 additions and 15 deletions

View File

@ -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"));
});
}
}
}

View File

@ -24,12 +24,12 @@ namespace Tests.DocumentTests {
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("""

View File

@ -1,5 +1,6 @@
-- deletes for DocumentTests
DELETE FROM payment_variant;
DELETE FROM delivery;
DELETE FROM season;
DELETE FROM wine_attribute;

View File

@ -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);