Files
yookassa-sdk-php/tests/Common/Exceptions/ApiExceptionTest.php
T
Антон Н. Николаев cbcdbc8ae1 Обновленная версия SDK. Поддержка PHP 8+
Отказ от поддержки PHP < 8
Изменена структура файлов
Переработана логика работы с моделями
Добавлено использование валидатора данных в моделях
Массивы объектов заменены на объекты-коллекции
2023-06-07 17:23:48 +03:00

76 lines
1.7 KiB
PHP

<?php
namespace Tests\YooKassa\Common\Exceptions;
use PHPUnit\Framework\TestCase;
use YooKassa\Common\Exceptions\ApiException;
/**
* @internal
*/
class ApiExceptionTest extends TestCase
{
public function getTestInstance($message = '', $code = 0, $responseHeaders = [], $responseBody = '')
{
return new ApiException($message, $code, $responseHeaders, $responseBody);
}
/**
* @dataProvider responseHeadersDataProvider
*/
public function testGetResponseHeaders(array $headers): void
{
$instance = $this->getTestInstance('', 0, $headers);
self::assertEquals($headers, $instance->getResponseHeaders());
}
public static function responseHeadersDataProvider()
{
return [
[
[],
],
[
['HTTP/1.1 200 Ok'],
],
[
[
'HTTP/1.1 200 Ok',
'Content-length: 0',
],
],
[
[
'HTTP/1.1 200 Ok',
'Content-length: 0',
'Connection: close',
],
],
];
}
/**
* @dataProvider responseBodyDataProvider
*/
public function testGetResponseBody(string $body): void
{
$instance = $this->getTestInstance('', 0, [], $body);
self::assertEquals($body, $instance->getResponseBody());
}
public static function responseBodyDataProvider()
{
return [
[
'',
],
[
'{"success":true}',
],
[
'<html></html>',
],
];
}
}