Files
elwig/Tests/DocumentTests/PaymentVariantSummaryTest.cs

31 lines
1.4 KiB
C#

using Elwig.Documents;
using Elwig.Helpers;
using Elwig.Models.Dtos;
using System.Text.RegularExpressions;
namespace Tests.DocumentTests {
[TestFixture]
public class PaymentVariantSummaryTest {
[Test]
public async Task Test_01_PaymentVariant2020() {
using var ctx = new AppDbContext();
var v = (await ctx.PaymentVariants.FindAsync(2020, 1))!;
var data = await PaymentVariantSummaryData.ForPaymentVariant(v, ctx.PaymentVariantSummaryRows);
using var doc = new PaymentVariantSummary(v, data);
var text = await Utils.GeneratePdfText(doc, true);
var table = text.Split('\n').Select(l => Regex.Split(l.Trim(), "[ ]{2,}")).Where(l => l.Length > 2).ToArray();
Assert.Multiple(() => {
Assert.That(text, Contains.Substring("Auszahlungsvariante"));
Assert.That(text, Contains.Substring(v.Name));
Assert.That(table, Is.EqualTo(new string[][] {
[ "Gradation", "ungebunden", "gebunden", "Gesamt" ],
[ "[°Oe]", "[kg]", "[/kg]", "[kg]", "[/kg]", "[]" ],
["Grüner Veltliner", "3 219", "0", "1 609,50"],
["Qualitätswein", "73", "3 219", "0,5000", "-", "-", "1 609,50"],
}));
});
}
}
}