From 288af587edbc5e670152c828ff94691c9b08ef88 Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:59:20 +0200 Subject: [PATCH] update rector config --- rector.php | 7 ++++--- src/zugferd2/Model/HeaderTradeAgreement.php | 2 +- src/zugferd2/Model/LineTradeDelivery.php | 2 +- src/zugferd2/Model/ProductType.php | 2 +- src/zugferd2/Validator.php | 4 +++- tests/zugferd2/Tests/Legacy/TradeAccountingAccountTest.php | 4 ++-- tests/zugferd2/Tests/Traits/ReformatXmlTrait.php | 4 +++- 7 files changed, 15 insertions(+), 10 deletions(-) diff --git a/rector.php b/rector.php index 0dd61fb..ae56284 100644 --- a/rector.php +++ b/rector.php @@ -5,16 +5,17 @@ use Rector\Config\RectorConfig; use Rector\Symfony\Set\JMSSetList; use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictNativeCallRector; -use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictScalarReturnExprRector; return RectorConfig::configure() + ->withImportNames() ->withPaths([ __DIR__ . '/src/zugferd2', + __DIR__ . '/tests/zugferd2', ]) - ->withPhpSets(php81: true) + ->withPhpSets() + ->withPreparedSets(codeQuality: true, deadCode: true) ->withRules([ ReturnTypeFromStrictNativeCallRector::class, - ReturnTypeFromStrictScalarReturnExprRector::class, ]) ->withSets([ JMSSetList::ANNOTATIONS_TO_ATTRIBUTES, diff --git a/src/zugferd2/Model/HeaderTradeAgreement.php b/src/zugferd2/Model/HeaderTradeAgreement.php index 7210a33..a8efe94 100644 --- a/src/zugferd2/Model/HeaderTradeAgreement.php +++ b/src/zugferd2/Model/HeaderTradeAgreement.php @@ -67,7 +67,7 @@ class HeaderTradeAgreement #[Type(ReferencedDocument::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] #[SerializedName('SellerOrderReferencedDocument')] - public ?ReferencedDocument $sellerOrderReferencedDocument; + public ?ReferencedDocument $sellerOrderReferencedDocument = null; #[Type(ProcuringProject::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] diff --git a/src/zugferd2/Model/LineTradeDelivery.php b/src/zugferd2/Model/LineTradeDelivery.php index 07778f1..dcf6b2d 100644 --- a/src/zugferd2/Model/LineTradeDelivery.php +++ b/src/zugferd2/Model/LineTradeDelivery.php @@ -18,7 +18,7 @@ class LineTradeDelivery #[Type(Quantity::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] #[SerializedName('PackageQuantity')] - public ?Quantity $packageQuantity; + public ?Quantity $packageQuantity = null; #[Type(SupplyChainEvent::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] diff --git a/src/zugferd2/Model/ProductType.php b/src/zugferd2/Model/ProductType.php index e332e3a..e5a33c9 100644 --- a/src/zugferd2/Model/ProductType.php +++ b/src/zugferd2/Model/ProductType.php @@ -13,7 +13,7 @@ class ProductType #[Type(Id::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] #[SerializedName('GlobalID')] - public ?Id $id; + public ?Id $id = null; #[Type('string')] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] diff --git a/src/zugferd2/Validator.php b/src/zugferd2/Validator.php index e8cff6b..1d6442e 100644 --- a/src/zugferd2/Validator.php +++ b/src/zugferd2/Validator.php @@ -4,6 +4,8 @@ namespace Easybill\ZUGFeRD2; +use DOMDocument; + class Validator { public const SCHEMA_BASIC = __DIR__ . '/Schema/BASIC/Factur-X_1.0.07_BASIC.xsd'; @@ -14,7 +16,7 @@ class Validator public function validateAgainstXsd(string $xml, string $schemaFile): ?string { - $domDoc = new \DOMDocument(); + $domDoc = new DOMDocument(); $domDoc->loadXML($xml); try { diff --git a/tests/zugferd2/Tests/Legacy/TradeAccountingAccountTest.php b/tests/zugferd2/Tests/Legacy/TradeAccountingAccountTest.php index 03dc554..9c09c41 100644 --- a/tests/zugferd2/Tests/Legacy/TradeAccountingAccountTest.php +++ b/tests/zugferd2/Tests/Legacy/TradeAccountingAccountTest.php @@ -50,7 +50,7 @@ public function testTradeAccountingAccount(): void $invoice->supplyChainTradeTransaction->lineItems[] = $item1; - $xml = <<<'XML' + $xml = <<<'XML_WRAP' @@ -107,7 +107,7 @@ public function testTradeAccountingAccount(): void -XML; +XML_WRAP; $this->assertEquals( // Removes white-space preg_replace('/\s/', '', $xml), diff --git a/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php b/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php index 77bc1d9..3529979 100644 --- a/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php +++ b/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php @@ -4,13 +4,15 @@ namespace Easybill\ZUGFeRD2\Tests\Traits; +use DOMDocument; + trait ReformatXmlTrait { public static function reformatXml(string $xml): string { $xml = preg_replace('//', '', $xml); - $doc = new \DOMDocument('1.0', 'UTF-8'); + $doc = new DOMDocument('1.0', 'UTF-8'); $doc->preserveWhiteSpace = false; $doc->formatOutput = true; $doc->loadXML($xml);