Skip to content

Commit 2d3c6ed

Browse files
test: write and read invoicer contact
1 parent 6f5803f commit 2d3c6ed

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

ZUGFeRD.Test/ZUGFeRD22Tests.cs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3623,5 +3623,52 @@ public void TestRSMInvoice()
36233623
Assert.AreEqual(desc.InvoiceNo, "0815-99-1-a");
36243624
Assert.AreEqual(desc.InvoiceDate, new DateTime(2020, 06, 21));
36253625
} // !TestRSMInvoice()
3626+
3627+
[TestMethod]
3628+
public void TestInvoicerContactWriteAndRead()
3629+
{
3630+
var desc = InvoiceDescriptor.CreateInvoice("12345", new DateTime(2025, 06, 01), CurrencyCodes.EUR);
3631+
desc.Invoicer = new Party
3632+
{
3633+
Name = "Invoicer Name",
3634+
Street = "Straße 1",
3635+
Postcode = "01234",
3636+
City = "Musterstadt",
3637+
Country = CountryCodes.DE,
3638+
};
3639+
3640+
desc.InvoicerContact = new Contact
3641+
{
3642+
EmailAddress = "invoiceremail@example.com",
3643+
FaxNo = "+49 12345",
3644+
PhoneNo = "+49 54321"
3645+
};
3646+
3647+
using var invoiceStream = new MemoryStream();
3648+
desc.Save(invoiceStream, ZUGFeRDVersion.Version23, Profile.Extended);
3649+
3650+
var invoiceString = Encoding.UTF8.GetString(invoiceStream.ToArray());
3651+
3652+
const string expectedInvoicePart = """
3653+
<ram:DefinedTradeContact>
3654+
<ram:TelephoneUniversalCommunication>
3655+
<ram:CompleteNumber>+49 54321</ram:CompleteNumber>
3656+
</ram:TelephoneUniversalCommunication>
3657+
<ram:FaxUniversalCommunication>
3658+
<ram:CompleteNumber>+49 12345</ram:CompleteNumber>
3659+
</ram:FaxUniversalCommunication>
3660+
<ram:EmailURIUniversalCommunication>
3661+
<ram:URIID>invoiceremail@example.com</ram:URIID>
3662+
</ram:EmailURIUniversalCommunication>
3663+
</ram:DefinedTradeContact>
3664+
""";
3665+
StringAssert.Contains(invoiceString, expectedInvoicePart);
3666+
3667+
var loadedInvoice = InvoiceDescriptor.Load(invoiceStream);
3668+
3669+
Assert.AreEqual("invoiceremail@example.com", loadedInvoice.InvoicerContact.EmailAddress);
3670+
Assert.AreEqual("+49 12345", loadedInvoice.InvoicerContact.FaxNo);
3671+
Assert.AreEqual("+49 54321", loadedInvoice.InvoicerContact.PhoneNo);
3672+
}
36263673
}
36273674
}

0 commit comments

Comments
 (0)