31 lines
1.4 KiB
C#
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"],
|
|
}));
|
|
});
|
|
}
|
|
}
|
|
}
|