Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
fail-fast: false
matrix:
php-version: ['8.1', '8.2', '8.3', '8.4', '8.5']
guzzle: ['^7', '^8']

steps:
- name: Checkout code
Expand All @@ -26,7 +27,9 @@ jobs:
coverage: xdebug

- name: Install dependencies
run: composer install --no-interaction --no-progress --prefer-dist
run: |
composer require "guzzlehttp/guzzle:${{ matrix.guzzle }}" --no-update --no-interaction
composer update --no-interaction --no-progress --prefer-dist

- name: Run PHPUnit with coverage
run: vendor/bin/phpunit --coverage-clover coverage.xml
Expand Down
2 changes: 1 addition & 1 deletion Tests/Unit/Model/PayOrderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Tests\Unit;
namespace Tests\Unit\Model;

use PayNL\Sdk\Model\Amount;
use PayNL\Sdk\Model\Pay\PayOrder;
Expand Down
2 changes: 2 additions & 0 deletions Tests/Unit/Model/PayStatusTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Tests\Unit\Model;

use PayNL\Sdk\Model\Pay\PayStatus;
use PHPUnit\Framework\TestCase;

Expand Down
4 changes: 2 additions & 2 deletions Tests/Unit/Model/PayloadTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

declare(strict_types=1);

namespace Tests\Unit;
namespace Tests\Unit\Model;

use PayNL\Sdk\Model\Pay\PayLoad;
use PHPUnit\Framework\TestCase;

class PayLoadTest extends TestCase
class PayloadTest extends TestCase
{
public function testLegacyPayloadMapping(): void
{
Expand Down
2 changes: 1 addition & 1 deletion Tests/Unit/OrderRequests/OrderApproveRequestTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Tests\Unit;
namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\Pay\PayOrder;
use PayNL\Sdk\Model\Request\OrderApproveRequest;
Expand Down
2 changes: 1 addition & 1 deletion Tests/Unit/OrderRequests/OrderCaptureRequestTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Tests\Unit;
namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\Pay\PayOrder;
use PayNL\Sdk\Model\Request\OrderCaptureRequest;
Expand Down
13 changes: 1 addition & 12 deletions Tests/Unit/OrderRequests/OrderCreateRequestTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Tests\Unit;
namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\Amount;
use PayNL\Sdk\Model\Customer;
Expand All @@ -23,7 +23,6 @@ public function testEnableFastCheckout(): void

$reflection = new \ReflectionClass($request);
$optimizeProperty = $reflection->getProperty('optimize');
$optimizeProperty->setAccessible(true);

$this->assertEquals([
'flow' => 'fastCheckout',
Expand All @@ -43,7 +42,6 @@ public function testSetReturnUrl(): void

$reflection = new \ReflectionClass($request);
$returnUrlProperty = $reflection->getProperty('returnUrl');
$returnUrlProperty->setAccessible(true);

$this->assertEquals('https://example.com/return', $returnUrlProperty->getValue($request));
}
Expand All @@ -58,7 +56,6 @@ public function testSetAmount(): void

$reflection = new \ReflectionClass($request);
$amountProperty = $reflection->getProperty('amount');
$amountProperty->setAccessible(true);

$this->assertEquals(12345, $amountProperty->getValue($request));
}
Expand All @@ -73,10 +70,8 @@ public function testSetAmountUsingObject(): void

$reflection = new \ReflectionClass($request);
$amountProperty = $reflection->getProperty('amount');
$amountProperty->setAccessible(true);

$currencyProperty = $reflection->getProperty('currency');
$currencyProperty->setAccessible(true);

$this->assertEquals(12345, $amountProperty->getValue($request));
$this->assertEquals('EUR', $currencyProperty->getValue($request));
Expand All @@ -94,7 +89,6 @@ public function testSetReference(): void

$reflection = new \ReflectionClass($request);
$referenceProperty = $reflection->getProperty('reference');
$referenceProperty->setAccessible(true);

$this->assertEquals('Order123', $referenceProperty->getValue($request));
}
Expand Down Expand Up @@ -124,9 +118,7 @@ public function testSetNotification(): void

$reflection = new \ReflectionClass($request);
$notificationTypeProperty = $reflection->getProperty('notificationType');
$notificationTypeProperty->setAccessible(true);
$notificationRecipientProperty = $reflection->getProperty('notificationRecipient');
$notificationRecipientProperty->setAccessible(true);

$this->assertEquals('email', $notificationTypeProperty->getValue($request));
$this->assertEquals('test@example.com', $notificationRecipientProperty->getValue($request));
Expand Down Expand Up @@ -170,7 +162,6 @@ public function testSetCustomer(): void

$reflection = new \ReflectionClass($request);
$customerProperty = $reflection->getProperty('customer');
$customerProperty->setAccessible(true);

$this->assertSame($mockCustomer, $customerProperty->getValue($request));
}
Expand All @@ -187,7 +178,6 @@ public function testSetOrder(): void

$reflection = new \ReflectionClass($request);
$orderProperty = $reflection->getProperty('order');
$orderProperty->setAccessible(true);

$this->assertSame($mockOrder, $orderProperty->getValue($request));
}
Expand All @@ -204,7 +194,6 @@ public function testSetStats(): void

$reflection = new \ReflectionClass($request);
$statsProperty = $reflection->getProperty('stats');
$statsProperty->setAccessible(true);

$this->assertSame($mockStats, $statsProperty->getValue($request));
}
Expand Down
2 changes: 1 addition & 1 deletion Tests/Unit/OrderRequests/OrderStatusRequestTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Tests\Unit;
namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\Pay\PayOrder;
use PayNL\Sdk\Model\Request\OrderStatusRequest;
Expand Down
2 changes: 2 additions & 0 deletions Tests/Unit/OrderRequests/OrderVoidRequestTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\Pay\PayOrder;
use PayNL\Sdk\Model\Request\OrderVoidRequest;
use PayNL\Sdk\Request\RequestData;
Expand Down
2 changes: 1 addition & 1 deletion Tests/Unit/OrderRequests/ServiceGetConfigRequestTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Tests\Unit;
namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\Request\ServiceGetConfigRequest;
use PayNL\Sdk\Model\Response\ServiceGetConfigResponse;
Expand Down
2 changes: 2 additions & 0 deletions Tests/Unit/OrderRequests/ServiceGetConfigResponseTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\CheckoutOptions;
use PayNL\Sdk\Model\Method;
use PayNL\Sdk\Model\Response\ServiceGetConfigResponse;
Expand Down
2 changes: 1 addition & 1 deletion Tests/Unit/OrderRequests/TerminalsBrowseRequestTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Tests\Unit;
namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Application\Application;
use PayNL\Sdk\Config\Config;
Expand Down
2 changes: 1 addition & 1 deletion Tests/Unit/OrderRequests/TerminalsGetRequestTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Tests\Unit;
namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\Request\TerminalsGetRequest;
use PHPUnit\Framework\TestCase;
Expand Down
2 changes: 2 additions & 0 deletions Tests/Unit/OrderRequests/TransactionRefundResponseTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\Amount;
use PayNL\Sdk\Model\Response\TransactionRefundResponse;
use PHPUnit\Framework\TestCase;
Expand Down
2 changes: 2 additions & 0 deletions Tests/Unit/OrderRequests/TransactionStatusResponseTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Model\Amount;
use PayNL\Sdk\Model\Response\TransactionStatusResponse;
use PHPUnit\Framework\TestCase;
Expand Down
6 changes: 1 addition & 5 deletions Tests/Unit/OrderRequests/VoucherInfoRequestTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Tests\Unit;
namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Application\Application;
use PayNL\Sdk\Config\Config;
Expand Down Expand Up @@ -61,7 +61,6 @@ public function testSetServiceId(): void
$request->setServiceId('SL-1234-5678');
$reflection = new \ReflectionClass($request);
$serviceIdProperty = $reflection->getProperty('serviceId');
$serviceIdProperty->setAccessible(true);

$this->assertEquals('SL-1234-5678', $serviceIdProperty->getValue($request));
}
Expand All @@ -77,7 +76,6 @@ public function testSetCardNumber(): void
$request->setCardNumber('1234-5678-9012-3456');
$reflection = new \ReflectionClass($request);
$cardNumberProperty = $reflection->getProperty('cardNumber');
$cardNumberProperty->setAccessible(true);

$this->assertEquals('1234-5678-9012-3456', $cardNumberProperty->getValue($request));
}
Expand All @@ -93,7 +91,6 @@ public function testSetPinCode(): void
$request->setPinCode('123456');
$reflection = new \ReflectionClass($request);
$pinCodeProperty = $reflection->getProperty('pinCode');
$pinCodeProperty->setAccessible(true);

$this->assertEquals('123456', $pinCodeProperty->getValue($request));
}
Expand All @@ -109,7 +106,6 @@ public function testSetPointOfInteraction(): void
$request->setPointOfInteraction('ON_THE_MOVE');
$reflection = new \ReflectionClass($request);
$poiProperty = $reflection->getProperty('pointOfInteraction');
$poiProperty->setAccessible(true);

$this->assertEquals('ON_THE_MOVE', $poiProperty->getValue($request));
}
Expand Down
5 changes: 1 addition & 4 deletions Tests/Unit/OrderRequests/VoucherPaymentRequestTest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Tests\Unit;
namespace Tests\Unit\OrderRequests;

use PayNL\Sdk\Application\Application;
use PayNL\Sdk\Config\Config;
Expand Down Expand Up @@ -62,7 +62,6 @@ public function testSetCardNumber(): void
$request->setCardNumber('1234-5678-9012-3456');
$reflection = new \ReflectionClass($request);
$cardNumberProperty = $reflection->getProperty('cardNumber');
$cardNumberProperty->setAccessible(true);

$this->assertEquals('1234-5678-9012-3456', $cardNumberProperty->getValue($request));
}
Expand All @@ -78,7 +77,6 @@ public function testSetPinCode(): void
$request->setPinCode('123456');
$reflection = new \ReflectionClass($request);
$pinCodeProperty = $reflection->getProperty('pinCode');
$pinCodeProperty->setAccessible(true);

$this->assertEquals('123456', $pinCodeProperty->getValue($request));
}
Expand All @@ -94,7 +92,6 @@ public function testSetPointOfInteraction(): void
$request->setPointOfInteraction('ON_THE_MOVE');
$reflection = new \ReflectionClass($request);
$poiProperty = $reflection->getProperty('pointOfInteraction');
$poiProperty->setAccessible(true);

$this->assertEquals('ON_THE_MOVE', $poiProperty->getValue($request));
}
Expand Down
65 changes: 65 additions & 0 deletions Tests/Unit/Request/AbstractRequestExecuteTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<?php

declare(strict_types=1);

namespace Tests\Unit\Request;

use GuzzleHttp\Client;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response as GuzzleResponse;
use PayNL\Sdk\Request\Request;
use PayNL\Sdk\Response\Response;
use PHPUnit\Framework\TestCase;

class AbstractRequestExecuteTest extends TestCase
{
public function testExecuteSendsGetAgainstClientBaseUri(): void
{
$mock = new MockHandler([
new GuzzleResponse(200, ['Content-Type' => 'application/json'], '{"id":"1"}'),
]);
$client = new Client([
'handler' => HandlerStack::create($mock),
'base_uri' => 'https://rest.pay.nl/v2/',
]);

$request = new Request('orders', Request::METHOD_GET);
$request->applyClient($client, 'https://rest.pay.nl/v2/');

$response = new Response();
$request->execute($response);

$this->assertSame(200, $response->getStatusCode());
$this->assertSame('{"id":"1"}', $response->getRawBody());

$lastRequest = $mock->getLastRequest();
$this->assertNotNull($lastRequest);
$this->assertSame('GET', $lastRequest->getMethod());
$this->assertSame('https://rest.pay.nl/v2/orders', (string)$lastRequest->getUri());
}

public function testExecuteUsesAbsoluteUriWhenUrlOptionIsSet(): void
{
$mock = new MockHandler([
new GuzzleResponse(200, ['Content-Type' => 'application/json'], '{"ok":true}'),
]);
$client = new Client([
'handler' => HandlerStack::create($mock),
'base_uri' => 'https://rest.pay.nl/v2/',
]);

$request = new Request('orders', Request::METHOD_POST, [], ['url' => 'https://failover.pay.nl']);
$request->applyClient($client, 'https://rest.pay.nl/v2/');

$response = new Response();
$request->execute($response);

$this->assertSame(200, $response->getStatusCode());

$lastRequest = $mock->getLastRequest();
$this->assertNotNull($lastRequest);
$this->assertSame('POST', $lastRequest->getMethod());
$this->assertSame('https://failover.pay.nl/orders', (string)$lastRequest->getUri());
}
}
2 changes: 1 addition & 1 deletion Tests/Unit/Response/VoucherInfoResponseTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace Tests\Unit;
namespace Tests\Unit\Response;

use PayNL\Sdk\Model\Amount;
use PayNL\Sdk\Model\Response\VoucherInfoResponse;
Expand Down
3 changes: 2 additions & 1 deletion Tests/Unit/Util/ExchangeResponseTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

declare(strict_types=1);

namespace Tests\Unit\Util;

use PayNL\Sdk\Util\ExchangeResponse;
use PHPUnit\Framework\TestCase;

Expand All @@ -11,7 +13,6 @@ private function getProperty(object $object, string $name): mixed
{
$ref = new \ReflectionClass($object);
$prop = $ref->getProperty($name);
$prop->setAccessible(true);

return $prop->getValue($object);
}
Expand Down
Loading