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

47 lines
1.2 KiB
PHP

<?php
use Apoloz\AlfaBank\Http\Middleware\RequestIdMiddleware;
use Apoloz\AlfaBank\Utils\Uuid;
use Saloon\Enums\Method;
use Saloon\Http\PendingRequest;
use Saloon\Http\Request;
test('it generates valid uuid v4', function (): void {
$uuid = Uuid::v4();
expect($uuid)->toBeString()
->and(strlen($uuid))->toBe(36)
->and(preg_match('/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/', $uuid))->toBe(1);
});
test('middleware adds uuid to request', function (): void {
$middleware = new RequestIdMiddleware;
$request = new class extends Request
{
protected Method $method = Method::GET;
public function resolveEndpoint(): string
{
return '/';
}
};
$connector = new class extends \Saloon\Http\Connector
{
public function resolveBaseUrl(): string
{
return 'https://test';
}
};
$pendingRequest = new PendingRequest($connector, $request);
$middleware($pendingRequest);
$header = $pendingRequest->headers()->get('X-Request-ID');
expect($header)->toBeString()
->and(preg_match('/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/', $header))->toBe(1);
});