Files
kulakpos_web/vendor/fedapay/fedapay-php/tests/RequestorTest.php

102 lines
2.7 KiB
PHP
Raw Normal View History

2026-03-30 14:54:57 +07:00
<?php
namespace Tests;
/**
* Class RequestorTest
*
* @package Tests
*/
class RequestorTest extends BaseTestCase
{
public function testHttpClientInjection()
{
$reflector = new \ReflectionClass('FedaPay\\Requestor');
$method = $reflector->getMethod('httpClient');
$method->setAccessible(true);
$curl = new \FedaPay\HttpClient\CurlClient();
$curl->setTimeout(10);
\FedaPay\Requestor::setHttpClient($curl);
$injectedCurl = $method->invoke(new \FedaPay\Requestor());
$this->assertSame($injectedCurl, $curl);
}
public function testRequestParams()
{
$this->mockRequest(
'get',
'/v1/path',
['foo' => '2'],
[],
500,
[
'X-Custom' => 'foo'
]
);
$requestor = new \FedaPay\Requestor;
$this->expectException('\FedaPay\Error\ApiConnection');
$requestor->request('get', '/path', ['foo' => '2'], ['X-Custom' => 'foo']);
}
public function testRequestSetParams()
{
\FedaPay\FedaPay::setApiKey(null);
\FedaPay\FedaPay::setApiVersion('v3');
\FedaPay\FedaPay::setEnvironment('production');
\FedaPay\FedaPay::setToken('mytoken');
\FedaPay\FedaPay::setAccountId(898);
\FedaPay\FedaPay::setLocale('en');
$this->mockRequest(
'get',
'/v3/path',
['foo' => '2', 'locale' => 'en'],
[],
500,
[
'Authorization' => 'Bearer mytoken',
'FedaPay-Account' => 898,
2026-04-18 20:32:18 +07:00
'X-FedaPay-Api-Version' => 'v3',
2026-03-30 14:54:57 +07:00
'X-Custom' => 'foo'
]
);
$requestor = new \FedaPay\Requestor;
$this->expectException('\FedaPay\Error\ApiConnection');
$requestor->request('get', '/path', ['foo' => '2'], [
'X-Custom' => 'foo'
]);
}
public function testShouldFaildParsingResponse()
{
$this->mockRequest(
'get',
'/v1/path',
[],
'unable to parse',
200
);
$requestor = new \FedaPay\Requestor;
$this->expectException('\FedaPay\Error\ApiConnection', 'unable to parse');
$requestor->request('get', '/path');
}
public function testShouldParseApiErrors()
{
$this->mockRequest(
'get',
'/v1/path',
[],
['message' => 'Error Message'],
400
);
$requestor = new \FedaPay\Requestor;
$this->expectException('\FedaPay\Error\ApiConnection', 'Error Message');
$requestor->request('get', '/path');
}
}