31 lines
1.0 KiB
PHP
31 lines
1.0 KiB
PHP
<?php
|
|
|
|
use Apoloz\AlfaBank\Sbp\SbpConnector;
|
|
use Apoloz\AlfaBank\Sbp\Requests\GetQrCodeRequest;
|
|
use Apoloz\AlfaBank\Sbp\Data\QrCodeRequestData;
|
|
use Apoloz\AlfaBank\Core\AlfaConfig;
|
|
use Saloon\Http\Faking\MockResponse;
|
|
|
|
test('sbp connector uses injected config', function () {
|
|
$mockClient = new \Saloon\Http\Faking\MockClient([
|
|
GetQrCodeRequest::class => MockResponse::make(['payload' => 'https://test.qr'], 200),
|
|
]);
|
|
|
|
$config = new AlfaConfig(
|
|
baseUrl: 'https://test.alfa',
|
|
certificatePath: __DIR__ . '/../../test_key.pem', // valid path
|
|
privateKeyPath: __DIR__ . '/../../test_key.pem', // valid path
|
|
);
|
|
|
|
$connector = new SbpConnector($config, 'alias');
|
|
$connector->withMockClient($mockClient);
|
|
|
|
expect($connector->resolveBaseUrl())->toBe('https://test.alfa');
|
|
|
|
$response = $connector->send(new GetQrCodeRequest(
|
|
new QrCodeRequestData(termNo: 'term', qrcType: '01', amount: '100', paymentPurpose: 'purpose')
|
|
));
|
|
|
|
expect($response->status())->toBe(200);
|
|
});
|