Files
ImportAssist/tests/ImportAssist.Core.Tests/InvoiceAnalysisValidatorTests.cs
T

41 lines
1.1 KiB
C#

using ImportAssist.Core;
using Xunit;
namespace ImportAssist.Core.Tests;
public sealed class InvoiceAnalysisValidatorTests
{
[Theory]
[InlineData(null, true)]
[InlineData("INV-001", true)]
[InlineData("", false)]
[InlineData(" ", false)]
[InlineData("\t", false)]
[InlineData("\r\n", false)]
public void Validate_ChecksInvoiceIdContract(
string? invoiceId,
bool expectedValid)
{
var analysis = new InvoiceAnalysis(
Summary: "Testanalyse",
Findings:
[
new AnalysisFinding(
LineNumber: 6,
InvoiceId: invoiceId,
RuleId: "INV-004",
Description: "Betrag muss größer als null sein.",
NextCheck: "Originalbetrag anhand des Belegs prüfen.",
MissingInformation: ["Originalbetrag"])
],
Limitations: []);
var errors = InvoiceAnalysisValidator.Validate(analysis);
if (expectedValid)
Assert.Empty(errors);
else
Assert.Single(errors);
}
}