forked from apoloz/alfa-bank-sdk
33 lines
1.0 KiB
PHP
33 lines
1.0 KiB
PHP
<?php
|
|
|
|
use Apoloz\AlfaBank\Core\AlfaBankConnector;
|
|
use Apoloz\AlfaBank\Data\SelfEmployed\PayoutRequestData;
|
|
use Apoloz\AlfaBank\Requests\SelfEmployed\CreatePayoutRequest;
|
|
use Saloon\Http\Faking\MockResponse;
|
|
|
|
test('can create a payout for self-employed', function (): void {
|
|
$mockClient = new \Saloon\Http\Faking\MockClient([
|
|
CreatePayoutRequest::class => MockResponse::make([
|
|
'requestId' => 'payout-req-123',
|
|
'state' => 'PROCESSED',
|
|
], 200, ['Content-Type' => 'application/json']),
|
|
]);
|
|
|
|
$config = createTestConfig();
|
|
$connector = new AlfaBankConnector($config);
|
|
$connector->withMockClient($mockClient);
|
|
|
|
$payload = new PayoutRequestData(
|
|
externalId: 'ext-id-456',
|
|
company: ['vatin' => '7700000000'],
|
|
requisite: [
|
|
['amount' => 1000, 'vatin' => '112233445566'],
|
|
]
|
|
);
|
|
|
|
$response = $connector->send(new CreatePayoutRequest($payload));
|
|
|
|
expect($response->status())->toBe(200)
|
|
->and($response->json('requestId'))->toBe('payout-req-123');
|
|
});
|