From f6babbc17d39760abc506c68fcb092f4b94b3dea Mon Sep 17 00:00:00 2001 From: langfr Date: Wed, 14 Aug 2024 10:16:33 +0100 Subject: [PATCH] Enhance and adjust ZF2PushTest. --- .../mustangproject/ZUGFeRD/ZF2PushTest.java | 273 ++++++++---------- 1 file changed, 128 insertions(+), 145 deletions(-) diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java index 84d10eb4..4235d8df 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java @@ -36,6 +36,7 @@ import org.junit.runners.MethodSorters; import junit.framework.TestCase; +import org.mustangproject.ZUGFeRD.model.DocumentCodeTypeConstants; import org.mustangproject.ZUGFeRD.model.EventTimeCodeTypeConstants; import javax.xml.xpath.XPathExpressionException; @@ -61,7 +62,6 @@ public class ZF2PushTest extends TestCase { public void testPushExport() { // the writing part - String orgname = "Bei Spiel GmbH"; String number = "RE-20201121/508"; String priceStr = "160.00"; @@ -75,8 +75,7 @@ public class ZF2PushTest extends TestCase { ZUGFeRDExporterFromA1 ze = new ZUGFeRDExporterFromA1(); ze.ignorePDFAErrors(); ze.load(SOURCE_PDF); - ze.setProducer("My Application") - .setCreator(System.getProperty("user.name")).setZUGFeRDVersion(2); + ze.setProducer("My Application").setCreator(System.getProperty("user.name")).setZUGFeRDVersion(2); ze.setTransaction(new Invoice().setDueDate(sdf.parse("2020-12-12")).setIssueDate(sdf.parse("2020-11-21")).setDeliveryDate(sdf.parse("2020-11-10")) .setSender(new TradeParty(orgname, "Ecke 12", "12345", "Stadthausen", "DE").addBankDetails(new BankDetails("DE88200800000970375700", "COBADEFFXXX").setAccountName("Max Mustermann")).addVATID("DE136695976")) .setRecipient(new TradeParty("Theodor Est", "Bahnstr. 42", "88802", "Spielkreis", "DE") @@ -100,19 +99,18 @@ public class ZF2PushTest extends TestCase { assertTrue(zi.getUTF8().contains("")); // maybe add a direct debit mandate to the class in the future then this would fail assertTrue(zi.getUTF8().contains("Hinterhaus")); - assertThat(zi.getUTF8()).valueByXPath("//*[local-name()='BuyerTradeParty']/*[local-name()='GlobalID'][@schemeID=0088]").asString() - .isEqualTo("4304171000002"); - assertThat(zi.getUTF8()).valueByXPath("//*[local-name()='SpecifiedTradeProduct']/*[local-name()='GlobalID'][@schemeID=0160]").asString() - .isEqualTo("2001015001325"); + assertThat(zi.getUTF8()).valueByXPath("//*[local-name()='BuyerTradeParty']/*[local-name()='GlobalID'][@schemeID=0088]").asString().isEqualTo("4304171000002"); + assertThat(zi.getUTF8()).valueByXPath("//*[local-name()='SpecifiedTradeProduct']/*[local-name()='GlobalID'][@schemeID=0160]").asString().isEqualTo("2001015001325"); assertTrue(zi.getUTF8().contains("2001015001325")); assertTrue(zi.getUTF8().contains("4304171000002")); assertTrue(zi.getUTF8().contains("0088")); - assertTrue(zi.getUTF8().contains("0009845")); + assertTrue(zi.getUTF8().contains(orgID)); assertTrue(zi.getUTF8().contains("ram:BuyerOrderReferencedDocument")); assertTrue(zi.getUTF8().contains(occurrenceFrom)); assertTrue(zi.getUTF8().contains(occurrenceTo)); @@ -493,8 +478,7 @@ public class ZF2PushTest extends TestCase { assertTrue(zi.getUTF8().contains("document level 2/2")); assertTrue(zi.getUTF8().contains("++49555123456")); assertTrue(zi.getUTF8().contains("Cash Discount")); // default description for cash discounts - assertThat(zi.getUTF8()).valueByXPath("//*[local-name()='ApplicableTradeTax']/*[local-name()='DueDateTypeCode']").asString() - .isEqualTo(EventTimeCodeTypeConstants.PAYMENT_DATE); + assertThat(zi.getUTF8()).valueByXPath("//*[local-name()='ApplicableTradeTax']/*[local-name()='DueDateTypeCode']").asString().isEqualTo(EventTimeCodeTypeConstants.PAYMENT_DATE); ZUGFeRDInvoiceImporter zii = new ZUGFeRDInvoiceImporter(TARGET_PUSHEDGE); try { @@ -502,7 +486,7 @@ public class ZF2PushTest extends TestCase { assertEquals("4304171000002", i.getRecipient().getGlobalID()); assertEquals("2001015001325", i.getZFItems()[0].getProduct().getGlobalID()); - + assertEquals(orgID, i.getSender().getID()); } catch (XPathExpressionException e) { fail("XPathExpressionException should not be raised"); @@ -511,8 +495,6 @@ public class ZF2PushTest extends TestCase { /* a parseException would also be fired if the calculated grand total does not match the read grand total */ } - - } public void testAllowancesExport() { @@ -521,20 +503,19 @@ public class ZF2PushTest extends TestCase { String number = "123"; BigDecimal qty = new BigDecimal("20"); try { - InputStream SOURCE_PDF = this.getClass() - .getResourceAsStream("/MustangGnuaccountingBeispielRE-20170509_505blanko.pdf"); + InputStream SOURCE_PDF = this.getClass().getResourceAsStream("/MustangGnuaccountingBeispielRE-20170509_505blanko.pdf"); ZUGFeRDExporterFromA1 ze = new ZUGFeRDExporterFromA1(); ze.ignorePDFAErrors().load(SOURCE_PDF); - ze.setProducer("My Application") - .setCreator(System.getProperty("user.name")).setZUGFeRDVersion(2).setProfile(Profiles.getByName("en16931")); + ze.setProducer("My Application").setCreator(System.getProperty("user.name")).setZUGFeRDVersion(2).setProfile(Profiles.getByName("en16931")); - - ze.setTransaction(new Invoice().setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()).setSender(new TradeParty(orgname, "teststr", "55232", "teststadt", "DE").addTaxID("4711").addVATID("DE0815")).setRecipient(new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE")).setNumber(number) + ze.setTransaction(new Invoice().setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()) + .setSender(new TradeParty(orgname, "teststr", "55232", "teststadt", "DE").addTaxID("4711").addVATID("DE0815")) + .setRecipient(new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE")) + .setNumber(number) .addItem(new Item(new Product("Testprodukt", "", "C62", new BigDecimal(19)), new BigDecimal(500.0), qty).addAllowance(new Allowance(new BigDecimal(300)).setTaxPercent(new BigDecimal(19)))) .addAllowance(new Allowance(new BigDecimal(600)).setTaxPercent(new BigDecimal(19))) - ); String theXML = new String(ze.getProvider().getXML()); assertTrue(theXML.contains("