using Elwig.Documents; using Elwig.Helpers; namespace Tests.DocumentTests { [TestFixture] public class DeliveryNoteTest { [Test] public async Task Test_01_OneDeliveryPart() { using var ctx = new AppDbContext(); var d = await ctx.Deliveries.FindAsync(2020, 1); using var doc = new DeliveryNote(d!, ctx); 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("0123463")); // Betriebsnummer Assert.That(text, Contains.Substring("pauschaliert")); Assert.That(text, Contains.Substring($"Wolkersdorf, am {Elwig.Helpers.Utils.Today:dd.MM.yyyy}")); Assert.That(text, Contains.Substring("Traubenübernahmeschein Nr. 20201001X001")); Assert.That(text, Contains.Substring("Das Mitglied erklärt, dass die gelieferte Ware dem österreichischen Weingesetz entspricht")); Assert.That(text, Contains.Substring(""" 1 Grüner Veltliner Qualitätswein 73 15,0 3 219 Herkunft: Österreich / Weinland / Niederösterreich / Matzner Hügel / Hohenruppersdorf / KG Hohenruppersdorf Waage: 1, ID: 321 – 09:02, 01.10.2020 Brutto: 3 219 kg – Tara: 0 kg – Netto: 3 219 kg – gerebelt gewogen """)); }); } [Test] public async Task Test_02_TwoDeliveryParts() { using var ctx = new AppDbContext(); var d = await ctx.Deliveries.FindAsync(2020, 4); using var doc = new DeliveryNote(d!, ctx); var text = await Utils.GeneratePdfText(doc); Assert.Multiple(() => { Assert.That(text, Contains.Substring(""" W&B Weinbauer GesbR WEINBAUER Wernhardt Winzerstraße 2 2223 Hohenruppersdorf """)); Assert.That(text, Contains.Substring("0123471")); // Betriebsnummer Assert.That(text, Contains.Substring("pauschaliert")); Assert.That(text, Contains.Substring($"Wolkersdorf, am {Elwig.Helpers.Utils.Today:dd.MM.yyyy}")); Assert.That(text, Contains.Substring("Traubenübernahmeschein Nr. 20201001X004")); Assert.That(text, Contains.Substring("Das Mitglied erklärt, dass die gelieferte Ware dem österreichischen Weingesetz entspricht")); Assert.That(text, Contains.Substring(""" 1 Grüner Veltliner Qualitätswein 82 16,7 4 002 Herkunft: Österreich / Weinland / Niederösterreich / Matzner Hügel / Hohenruppersdorf / KG Hohenruppersdorf Waage: ?, ID: ? (gerebelt gewogen) """)); Assert.That(text, Contains.Substring(""" 2 Grüner Veltliner Qualitätswein 75 15,3 481 Herkunft: Österreich / Weinland / Niederösterreich / Matzner Hügel / Hohenruppersdorf / KG Hohenruppersdorf Waage: ?, ID: ? (gerebelt gewogen) """)); Assert.That(text, Contains.Substring("Gesamt: 81 16,5 4 483")); }); } [Test] public async Task Test_03_DeliveryPartsWithAttribute() { using var ctx = new AppDbContext(); var d = await ctx.Deliveries.FindAsync(2020, 3); using var doc = new DeliveryNote(d!, ctx); 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("0123463")); // Betriebsnummer Assert.That(text, Contains.Substring("pauschaliert")); Assert.That(text, Contains.Substring($"Wolkersdorf, am {Elwig.Helpers.Utils.Today:dd.MM.yyyy}")); Assert.That(text, Contains.Substring("Traubenübernahmeschein Nr. 20201001X003")); Assert.That(text, Contains.Substring("Das Mitglied erklärt, dass die gelieferte Ware dem österreichischen Weingesetz entspricht")); Assert.That(text, Contains.Substring(""" 1 Grüner Veltliner Wein 75 15,4 2 561 Herkunft: Österreich / Matzner Hügel / Hohenruppersdorf / KG Hohenruppersdorf Waage: ?, ID: ? (gerebelt gewogen) """)); Assert.That(text, Contains.Substring(""" 2 Grüner Veltliner Kabinett Wein 87 17,6 3 129 Herkunft: Österreich / Matzner Hügel / Hohenruppersdorf / KG Hohenruppersdorf Waage: ?, ID: ? (gerebelt gewogen) """)); Assert.That(text, Contains.Substring(""" 3 Grüner Veltliner Wein 79 16,1 1 280 Herkunft: Österreich / Matzner Hügel / Hohenruppersdorf / KG Hohenruppersdorf Waage: ?, ID: ? (gerebelt gewogen) """)); Assert.That(text, Contains.Substring("Gesamt: 81 16,5 6 970")); }); } [Test] public async Task Test_04_DeliveryPartsWithCultivation() { using var ctx = new AppDbContext(); var d = await ctx.Deliveries.FindAsync(2020, 7); using var doc = new DeliveryNote(d!, ctx); var text = await Utils.GeneratePdfText(doc); Assert.Multiple(() => { Assert.That(text, Contains.Substring(""" MUSTERBAUER Matthäus Brünner Straße 10 2120 Wolkersdorf im Weinviertel """)); Assert.That(text, Contains.Substring("0123480")); // Betriebsnummer Assert.That(text, Contains.Substring("pauschaliert")); Assert.That(text, Contains.Substring($"Wolkersdorf, am {Elwig.Helpers.Utils.Today:dd.MM.yyyy}")); Assert.That(text, Contains.Substring("Traubenübernahmeschein Nr. 20201002X001")); Assert.That(text, Contains.Substring("Das Mitglied erklärt, dass die gelieferte Ware dem österreichischen Weingesetz entspricht")); Assert.That(text, Contains.Substring(""" 1 Grüner Veltliner Wein 80 16,3 3 198 Bewirtschaftung: Bio (AT-BIO-302) Herkunft: Österreich / Wolkersdorfer Hochleithen / Wolkersdorf im Weinviertel / KG Wolkersdorf Waage: ?, ID: ? (gerebelt gewogen) """)); Assert.That(text, Contains.Substring(""" 2 Grüner Veltliner Qualitätswein 75 15,4 2 134 Bewirtschaftung: Bio (AT-BIO-302) Herkunft: Österreich / Weinland / Niederösterreich / Wolkersdorfer Hochleithen / Wolkersdorf im Weinviertel / KG Wolkersdorf Waage: ?, ID: ? (gerebelt gewogen) """)); Assert.That(text, Contains.Substring("Gesamt: 78 15,9 5 332")); }); } } }