mirror of
https://git.yoomoney.ru/scm/sdk/yookassa-sdk-php.git
synced 2026-10-23 08:07:22 +00:00
Добавлен параметр suspended_until (период охлаждения для «Покупок в кредит» от СберБанка). В запрос на создание выплаты у bank_id добавлена минимально допустимая длина 12 и проверка по регулярному выражению
Добавлен новый способ оплаты — Плати частями Ошибки вынесены в отдельные объекты Внесены небольшие изменения в тексты
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Tests\YooKassa\Common\Exceptions;
|
||||
|
||||
use YooKassa\Common\Errors\ErrorCode;
|
||||
use YooKassa\Common\Exceptions\ResponseProcessingException;
|
||||
|
||||
/**
|
||||
@@ -9,12 +10,12 @@ use YooKassa\Common\Exceptions\ResponseProcessingException;
|
||||
*/
|
||||
class ResponseProcessingExceptionTest extends ApiExceptionTest
|
||||
{
|
||||
public function getTestInstance($message = '', $code = 0, $responseHeaders = [], $responseBody = '')
|
||||
public function getTestInstance($message = '', $code = 0, $responseHeaders = [], $responseBody = ''): ResponseProcessingException
|
||||
{
|
||||
return new ResponseProcessingException($responseHeaders, $responseBody);
|
||||
}
|
||||
|
||||
public function expectedHttpCode()
|
||||
public function expectedHttpCode(): int
|
||||
{
|
||||
return ResponseProcessingException::HTTP_CODE;
|
||||
}
|
||||
@@ -27,13 +28,13 @@ class ResponseProcessingExceptionTest extends ApiExceptionTest
|
||||
$instance = $this->getTestInstance('', 0, [], $body);
|
||||
$tmp = json_decode($body, true);
|
||||
if (empty($tmp['description'])) {
|
||||
self::assertEquals('', $instance->getMessage());
|
||||
self::assertEquals('Error code: unknown.', $instance->getMessage());
|
||||
} else {
|
||||
self::assertEquals($tmp['description'] . '.', $instance->getMessage());
|
||||
self::assertEquals($tmp['description'] . '. Error code: unknown.', $instance->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public static function descriptionDataProvider()
|
||||
public static function descriptionDataProvider(): array
|
||||
{
|
||||
return [
|
||||
['{}'],
|
||||
@@ -56,7 +57,7 @@ class ResponseProcessingExceptionTest extends ApiExceptionTest
|
||||
}
|
||||
}
|
||||
|
||||
public static function retryAfterDataProvider()
|
||||
public static function retryAfterDataProvider(): array
|
||||
{
|
||||
return [
|
||||
['{}'],
|
||||
@@ -79,7 +80,7 @@ class ResponseProcessingExceptionTest extends ApiExceptionTest
|
||||
}
|
||||
}
|
||||
|
||||
public static function typeDataProvider()
|
||||
public static function typeDataProvider(): array
|
||||
{
|
||||
return [
|
||||
['{}'],
|
||||
@@ -99,31 +100,44 @@ class ResponseProcessingExceptionTest extends ApiExceptionTest
|
||||
|
||||
$tmp = json_decode($body, true);
|
||||
$message = '';
|
||||
|
||||
if (!empty($tmp['description'])) {
|
||||
$message = $tmp['description'] . '.';
|
||||
$message = $tmp['description'] . '. ';
|
||||
}
|
||||
self::assertEquals($message, $instance->getMessage());
|
||||
if (empty($tmp['code']) || !in_array($tmp['code'], ErrorCode::getValidValues(), true)) {
|
||||
$message .= 'Error code: unknown. ';
|
||||
} else {
|
||||
$message .= 'Error code: ' . $tmp['code'] . '. ';
|
||||
}
|
||||
if (!empty($tmp['parameter'])) {
|
||||
$message .= 'Parameter name: ' . $tmp['parameter'] . '. ';
|
||||
}
|
||||
self::assertEquals(trim($message), trim($instance->getMessage()));
|
||||
|
||||
if (empty($tmp['retry_after'])) {
|
||||
self::assertNull($instance->retryAfter);
|
||||
self::assertNull($instance->getError()->getRetryAfter());
|
||||
} else {
|
||||
self::assertEquals($tmp['retry_after'], $instance->retryAfter);
|
||||
self::assertEquals($tmp['retry_after'], $instance->getError()->getRetryAfter());
|
||||
}
|
||||
if (empty($tmp['type'])) {
|
||||
self::assertNull($instance->type);
|
||||
self::assertNull($instance->getError()->getType());
|
||||
} else {
|
||||
self::assertEquals($tmp['type'], $instance->type);
|
||||
self::assertEquals($tmp['type'], $instance->getError()->getType());
|
||||
}
|
||||
}
|
||||
|
||||
public static function messageDataProvider()
|
||||
public static function messageDataProvider(): array
|
||||
{
|
||||
return [
|
||||
['{}'],
|
||||
['{"code":"server_error","description":"Internal server error"}'],
|
||||
['{"code":"server_error","description":"Invalid parameter value","parameter":"shop_id"}'],
|
||||
['{"code":"server_error","description":"Invalid parameter value","parameter":"shop_id","type":"test"}'],
|
||||
['{"code":"server_error","description":"Invalid parameter value","parameter":"shop_id","retry_after":333}'],
|
||||
['{"code":"internal_server_error","description":"Internal server error"}'],
|
||||
['{"code":"internal_server_error","description":"Invalid parameter value","parameter":"shop_id"}'],
|
||||
['{"code":"internal_server_error","description":"Invalid parameter value","parameter":"shop_id","type":"test"}'],
|
||||
['{"code":"internal_server_error","description":"Invalid parameter value","parameter":"shop_id","retry_after":333}'],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user