diff --git a/.gitignore b/.gitignore index b359068..3f7d65f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ composer.phar composer.lock vendor/ .idea + +.phpunit.cache +.phpunit.result.cache diff --git a/composer.json b/composer.json index 09fb2ab..4191554 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,7 @@ "phpseclib/phpseclib": "~3.0" }, "require-dev": { - "phpunit/phpunit": "~8.0" + "phpunit/phpunit": "^10.5|^11.5|^12.0" }, "autoload": { "psr-4": { diff --git a/phpunit.xml b/phpunit.xml index 2d39420..ea7e5e8 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,23 +1,23 @@ + stopOnFailure="false" + failOnNotice="true" + failOnWarning="true" + cacheDirectory=".phpunit.cache" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"> tests - - + + src/ - - + + diff --git a/tests/Unit/GenerateCSRTest.php b/tests/Unit/GenerateCSRTest.php index e2cf316..42ef124 100644 --- a/tests/Unit/GenerateCSRTest.php +++ b/tests/Unit/GenerateCSRTest.php @@ -3,6 +3,7 @@ namespace Salla\ZATCA\Test\Unit; +use PHPUnit\Framework\Attributes\Test; use OpenSSLAsymmetricKey; use phpseclib3\Crypt\EC; use phpseclib3\File\X509; @@ -11,7 +12,7 @@ class GenerateCSRTest extends \PHPUnit\Framework\TestCase { - /** @test */ + #[Test] public function shouldGenerateACsrWithProperiteis() { $CN = 'Salla'; diff --git a/tests/Unit/GenerateQrCodeTest.php b/tests/Unit/GenerateQrCodeTest.php index a730c59..6a1b028 100644 --- a/tests/Unit/GenerateQrCodeTest.php +++ b/tests/Unit/GenerateQrCodeTest.php @@ -3,6 +3,7 @@ namespace Salla\ZATCA\Test\Unit; +use PHPUnit\Framework\Attributes\Test; use Salla\ZATCA\GenerateQrCode; use Salla\ZATCA\Tag; use Salla\ZATCA\Tags\InvoiceDate; @@ -13,7 +14,7 @@ class GenerateQrCodeTest extends \PHPUnit\Framework\TestCase { - /** @test */ + #[Test] public function shouldGenerateAQrCode() { $generatedString = GenerateQrCode::fromArray([ @@ -28,7 +29,7 @@ public function shouldGenerateAQrCode() 'AQVTYWxsYQIKMTIzNDU2Nzg5MQMUMjAyMS0wNy0xMlQxNDoyNTowOVoEBjEwMC4wMAUFMTUuMDA=', $generatedString); } - /** @test */ + #[Test] public function shouldGenerateAQrCodeAsArabic() { $generatedString = GenerateQrCode::fromArray([ @@ -43,7 +44,7 @@ public function shouldGenerateAQrCodeAsArabic() 'AQbYs9mE2KkCCjEyMzQ1Njc4OTEDFDIwMjEtMDctMTJUMTQ6MjU6MDlaBAYxMDAuMDAFBTE1LjAw', $generatedString); } - /** @test */ + #[Test] public function shouldGenerateAQrCodeFromTagsClasses() { $generatedString = GenerateQrCode::fromArray([ @@ -58,7 +59,7 @@ public function shouldGenerateAQrCodeFromTagsClasses() 'AQVTYWxsYQIKMTIzNDU2Nzg5MQMUMjAyMS0wNy0xMlQxNDoyNTowOVoEBjEwMC4wMAUFMTUuMDA=', $generatedString); } - /** @test */ + #[Test] public function shouldGenerateAQrCodeDisplayAsImageData() { $generatedString = GenerateQrCode::fromArray([ @@ -73,9 +74,7 @@ public function shouldGenerateAQrCodeDisplayAsImageData() 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM0AAADNCAIAAACU3mM+AAAABnRSTlMA/wD/AP83WBt9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEkUlEQVR4nO3dy27kKABA0cmo//+X03svkBBwTVWfs03qkdQVsssYfn5/f/+Dw/5/+w3wT9AZBZ1R0BkFnVHQGQWdUdAZBZ1R0BkFnVHQGQWdUdAZBZ1R0BkFnVHQGQWdUfiz8uCfn59d72PscRPD43XHP82eeeVtjJ9q7K1PYYrxjILOKOiMgs4oLJ0HPGy85XjqiHvjC2185pVj+ZU/P/sUphjPKOiMgs4o6IzCzvOAh5Xv5aee+fHYjQfgG5955eB95Xj83KcwxXhGQWcUdEZBZxQOngdkpo64p2b+rFwt2DhN6AsYzyjojILOKOiMwjecB4yND8BXpvxvPC34+pMG4xkFnVHQGQWdUTh4HnBuksnK7bsPb025mZomlN1yfI7xjILOKOiMgs4o7DwPyL7Fnvoy/c61hjZeaXi481qC8YyCzijojILOKPxc8n3xio2Lfa4887mD9y/4jIxnFHRGQWcUdEZh6Tzg3HyVSw7Ax1be1covj9/G1GPHT7Xx/2w8o6AzCjqjoDMKt1wPODddZ6NL3uS5iwfndlMwnlHQGQWdUdAZhZ3XA+7c3iu7aLHy2Gwu09i5MwzjGQWdUdAZBZ1R2Hk94K3bdzce6k7ZeJaQXWnIJlw9GM8o6IyCzijojMJr84I2HpB+4hJA505HLpm89GA8o6AzCjqjoDMKl94nPPW62aHuua/Lxy/08NbFEvOCuJ3OKOiMgs4o7Nw/4Nz8nHNr70wd+V4yXWfqhS65xdp4RkFnFHRGQWcUDu4nPD62XTnkfOsCwMpTTT3zxhda+V9ZN5QPozMKOqOgMwoH1ws6t7FtNtd+ysbJPBud211givGMgs4o6IyCzigcvB6QbaS10bntvc4tHzT+6dRfZF4Qn01nFHRGQWcUls4DLlnd89yX+NmR/viXp9y5IYTxjILOKOiMgs4oHFwv6Av2xtq4INIlS5Ce2xltzHhGQWcUdEZBZxRe20dsysbtrrKF+6cee85ba7s+GM8o6IyCzijojEJ3PWCjS9YcnbJxo4KNs3eyT9B4RkFnFHRGQWcUDu4nfMlMmIe3/t6pxz5kV1amHjvFeEZBZxR0RkFnFHauF/TW+p2XnEOsfGuf3UWcbYn8YDyjoDMKOqOgMwoH9w8Y//LDJVsCZPfc3sm6oXw2nVHQGQWdUTg4L+icc+vnvHUt4dwNAef+G1OMZxR0RkFnFHRG4eB9whu9tZ/XlEvm+Gd/7xTjGQWdUdAZBZ1R2Hl/wLklSDe+jY/4Xn7KR9wuYDyjoDMKOqOgMwo7zwMe7lxPf+zcxJiV1314a3rSCuMZBZ1R0BkFnVE4eB5wztRhcrb77sYJOee2Yn6L8YyCzijojILOKHzkecDDytfW4yPuc7P4N26fMP7lcwsxTTGeUdAZBZ1R0BmFg+cBb031WZncsnLUnN2Ru/G0YMx6QXwYnVHQGQWdUbh0H7GV171zys3Gs4S3TjhWGM8o6IyCzijojMJH7h/AxzGeUdAZBZ1R0BkFnVHQGQWdUdAZBZ1R0BkFnVHQGQWdUdAZBZ1R0BkFnVHQGQWdUfgLoOr+eP/ycgUAAAAASUVORK5CYII=', $generatedString); } - /** - * @test - */ + #[Test] public function shouldThrowExpectionWithWrongData() { $this->expectException(\InvalidArgumentException::class); diff --git a/tests/Unit/SignInvoiceTest.php b/tests/Unit/SignInvoiceTest.php index 214f43d..1155460 100644 --- a/tests/Unit/SignInvoiceTest.php +++ b/tests/Unit/SignInvoiceTest.php @@ -3,6 +3,7 @@ namespace Salla\ZATCA\Test\Unit; +use PHPUnit\Framework\Attributes\Test; use phpseclib3\File\X509; use Salla\ZATCA\Helpers\Certificate; use Salla\ZATCA\Models\InvoiceSign; @@ -13,7 +14,7 @@ class SignInvoiceTest extends \PHPUnit\Framework\TestCase protected const PRIVATE_KEY = 'MHQCAQEEIP0tXvA0mhzTBgjZaAGt+V3tWIr79nG/gs56jKFJb6gboAcGBSuBBAAKoUQDQgAE+39UxFUCaF5p51RTvwXL+YODEpITlTdI27S72pSPJEAjQs2jBb1sLS/xg8/y5555+d19KoLmLo6gMrxvINXaHw=='; protected const SERIAL_NUMBER = '379112742831380471835263969587287663520528387'; - /** @test */ + #[Test] public function isValidCertificate() { $x509 = new X509(); @@ -30,7 +31,7 @@ public function isValidCertificate() } - /** @test */ + #[Test] public function canGeneratInvoiceHash() { $xmlInvoice = file_get_contents(__DIR__ . '/files/simplified_invoice.xml');