Skip to content

Commit dc5d623

Browse files
committed
feat: update UBL invoice structure and enhance test cases
1 parent a92ec60 commit dc5d623

2 files changed

Lines changed: 221 additions & 549 deletions

File tree

tests/unit/Ubl21/Invoice/UniversalBusinessLanguageTest.php

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
use Tiime\UniversalBusinessLanguage\Ubl21\Invoice\DataType\Basic\DueDate;
3131
use Tiime\UniversalBusinessLanguage\Ubl21\Invoice\DataType\Basic\IssueDate;
3232
use Tiime\UniversalBusinessLanguage\Ubl21\Invoice\DataType\Basic\Note;
33-
use Tiime\UniversalBusinessLanguage\Ubl21\Invoice\DataType\Basic\TaxPointDate;
3433
use Tiime\UniversalBusinessLanguage\Ubl21\Invoice\DataType\InvoiceTypeCode;
3534
use Tiime\UniversalBusinessLanguage\Ubl21\Invoice\UniversalBusinessLanguage;
3635
use Tiime\UniversalBusinessLanguage\Ubl21\Invoice\Utils\UniversalBusinessLanguageUtils;
@@ -58,54 +57,49 @@ protected function setUp(): void
5857

5958
public function testCanBeCreatedFromContent(): void
6059
{
61-
$this->markTestSkipped();
62-
6360
$this->loadXMLDocument($this->xmlValidContent);
6461
$ublObject = UniversalBusinessLanguage::fromXML($this->document);
6562
$this->assertInstanceOf(UniversalBusinessLanguage::class, $ublObject);
6663
$this->assertInstanceOf(SpecificationIdentifier::class, $ublObject->getCustomizationID());
67-
$this->assertEquals('urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0', $ublObject->getCustomizationID()->value);
68-
$this->assertEquals('urn:fdc:peppol.eu:2017:poacc:billing:01:1.0', $ublObject->getProfileIdentifier());
64+
$this->assertEquals('urn:cen.eu:en16931:2017', $ublObject->getCustomizationID()->value);
6965
$this->assertInstanceOf(InvoiceIdentifier::class, $ublObject->getIdentifier());
7066
$this->assertInstanceOf(IssueDate::class, $ublObject->getIssueDate());
7167
$this->assertInstanceOf(DueDate::class, $ublObject->getDueDate());
7268
$this->assertInstanceOf(InvoiceTypeCode::class, $ublObject->getInvoiceTypeCode());
7369
$this->assertIsArray($ublObject->getNotes());
74-
$this->assertCount(2, $ublObject->getNotes());
70+
$this->assertCount(6, $ublObject->getNotes());
7571

7672
foreach ($ublObject->getNotes() as $note) {
7773
$this->assertInstanceOf(Note::class, $note);
7874
}
7975

80-
$this->assertInstanceOf(TaxPointDate::class, $ublObject->getTaxPointDate());
8176
$this->assertInstanceOf(CurrencyCode::class, $ublObject->getDocumentCurrencyCode());
82-
$this->assertInstanceOf(CurrencyCode::class, $ublObject->getTaxCurrencyCode());
83-
$this->assertEquals('4217:2323:2323', $ublObject->getAccountingCost());
84-
$this->assertEquals('abs1234', $ublObject->getBuyerReference());
77+
$this->assertEquals('REF COMPTABLE ACHETEURC1', $ublObject->getAccountingCost());
78+
$this->assertEquals('C1_2516', $ublObject->getBuyerReference());
8579
$this->assertInstanceOf(InvoicePeriod::class, $ublObject->getInvoicePeriod());
8680
$this->assertInstanceOf(OrderReference::class, $ublObject->getOrderReference());
8781
$this->assertIsArray($ublObject->getBillingReferences());
88-
$this->assertCount(1, $ublObject->getBillingReferences());
82+
$this->assertCount(0, $ublObject->getBillingReferences());
8983

9084
foreach ($ublObject->getBillingReferences() as $billingReference) {
9185
$this->assertInstanceOf(BillingReference::class, $billingReference);
9286
}
9387

94-
$this->assertInstanceOf(DespatchDocumentReference::class, $ublObject->getDespatchDocumentReference());
95-
$this->assertInstanceOf(ReceiptDocumentReference::class, $ublObject->getReceiptDocumentReference());
96-
$this->assertInstanceOf(OriginatorDocumentReference::class, $ublObject->getOriginatorDocumentReference());
97-
$this->assertInstanceOf(ContractDocumentReference::class, $ublObject->getContractDocumentReference());
88+
// $this->assertInstanceOf(DespatchDocumentReference::class, $ublObject->getDespatchDocumentReference());
89+
// $this->assertInstanceOf(ReceiptDocumentReference::class, $ublObject->getReceiptDocumentReference());
90+
// $this->assertInstanceOf(OriginatorDocumentReference::class, $ublObject->getOriginatorDocumentReference());
91+
// $this->assertInstanceOf(ContractDocumentReference::class, $ublObject->getContractDocumentReference());
9892
$this->assertIsArray($ublObject->getBillingReferences());
9993
$this->assertCount(1, $ublObject->getAdditionalDocumentReferences());
10094

10195
foreach ($ublObject->getAdditionalDocumentReferences() as $additionalDocumentReference) {
10296
$this->assertInstanceOf(AdditionalDocumentReference::class, $additionalDocumentReference);
10397
}
104-
$this->assertInstanceOf(ProjectReference::class, $ublObject->getProjectReference());
98+
// $this->assertInstanceOf(ProjectReference::class, $ublObject->getProjectReference());
10599
$this->assertInstanceOf(AccountingSupplierParty::class, $ublObject->getAccountingSupplierParty());
106100
$this->assertInstanceOf(AccountingCustomerParty::class, $ublObject->getAccountingCustomerParty());
107-
$this->assertInstanceOf(PayeeParty::class, $ublObject->getPayeeParty());
108-
$this->assertInstanceOf(TaxRepresentativeParty::class, $ublObject->getTaxRepresentativeParty());
101+
// $this->assertInstanceOf(PayeeParty::class, $ublObject->getPayeeParty());
102+
// $this->assertInstanceOf(TaxRepresentativeParty::class, $ublObject->getTaxRepresentativeParty());
109103
$this->assertInstanceOf(Delivery::class, $ublObject->getDelivery());
110104
$this->assertIsArray($ublObject->getPaymentMeans());
111105
$this->assertCount(1, $ublObject->getPaymentMeans());
@@ -115,13 +109,13 @@ public function testCanBeCreatedFromContent(): void
115109
}
116110
$this->assertInstanceOf(PaymentTerms::class, $ublObject->getPaymentTerms());
117111
$this->assertIsArray($ublObject->getAllowances());
118-
$this->assertCount(1, $ublObject->getAllowances());
112+
$this->assertCount(0, $ublObject->getAllowances());
119113

120114
foreach ($ublObject->getAllowances() as $allowance) {
121115
$this->assertInstanceOf(Allowance::class, $allowance);
122116
}
123117
$this->assertIsArray($ublObject->getCharges());
124-
$this->assertCount(1, $ublObject->getCharges());
118+
$this->assertCount(0, $ublObject->getCharges());
125119

126120
foreach ($ublObject->getCharges() as $charge) {
127121
$this->assertInstanceOf(Charge::class, $charge);
@@ -134,7 +128,7 @@ public function testCanBeCreatedFromContent(): void
134128
}
135129
$this->assertInstanceOf(LegalMonetaryTotal::class, $ublObject->getLegalMonetaryTotal());
136130
$this->assertIsArray($ublObject->getInvoiceLines());
137-
$this->assertCount(1, $ublObject->getInvoiceLines());
131+
$this->assertCount(2, $ublObject->getInvoiceLines());
138132

139133
foreach ($ublObject->getInvoiceLines() as $invoiceLine) {
140134
$this->assertInstanceOf(InvoiceLine::class, $invoiceLine);

0 commit comments

Comments
 (0)