Files
alfa-bank-sdk/tests/Feature/Auth/UserInfoTest.php
Anatoliy Poloz b15d29f8e9 fix(formating)
2026-01-28 03:36:26 +03:00

28 lines
964 B
PHP

<?php
use Apoloz\AlfaBank\Core\AlfaBankConnector;
use Apoloz\AlfaBank\Requests\Auth\UserInfo\GetUserInfoRequest;
use Saloon\Http\Faking\MockResponse;
test('can get user info from JWT', function (): void {
// Create a dummy JWT
$header = base64_encode(json_encode(['alg' => 'none']));
$payload = base64_encode(json_encode(['sub' => 'user-123', 'name' => 'John Doe']));
$signature = '';
$jwt = "$header.$payload.$signature";
$mockClient = new \Saloon\Http\Faking\MockClient([
GetUserInfoRequest::class => MockResponse::make($jwt, 200, ['Content-Type' => 'application/jwt']),
]);
$config = createTestConfig();
$connector = new AlfaBankConnector($config);
$connector->withMockClient($mockClient);
$response = $connector->send(new GetUserInfoRequest);
expect($response->status())->toBe(200)
->and($response->dto()->sub)->toBe('user-123')
->and($response->dto()->name)->toBe('John Doe');
});