PK
œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Notice: ob_end_clean(): Failed to delete buffer. No buffer to delete in /home/foruwedy/public_html/57dae0/index.php on line 8
| Dir : /home/foruwedy/www/vendor/srmklive/paypal/tests/Feature/ |
| Server: Linux premium227.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64 IP: 66.29.146.38 |
| Dir : /home/foruwedy/www/vendor/srmklive/paypal/tests/Feature/AdapterConfigTest.php |
<?php
namespace Srmklive\PayPal\Tests\Feature;
use PHPUnit\Framework\TestCase;
use Srmklive\PayPal\Services\PayPal as PayPalClient;
use Srmklive\PayPal\Tests\MockClientClasses;
class AdapterConfigTest extends TestCase
{
use MockClientClasses;
/** @var \Srmklive\PayPal\Services\PayPal */
protected $client;
protected function setUp(): void
{
$this->client = new PayPalClient($this->getApiCredentials());
parent::setUp();
}
/** @test */
public function it_throws_exception_if_invalid_credentials_are_provided()
{
$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage('Invalid configuration provided. Please provide valid configuration for PayPal API. You can also refer to the documentation at https://srmklive.github.io/laravel-paypal/docs.html to setup correct configuration.');
$this->client = new PayPalClient([]);
}
/** @test */
public function it_throws_exception_if_invalid_mode_is_provided()
{
$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage('Invalid configuration provided. Please provide valid configuration for PayPal API. You can also refer to the documentation at https://srmklive.github.io/laravel-paypal/docs.html to setup correct configuration.');
$credentials = $this->getApiCredentials();
$credentials['mode'] = '';
$this->client = new PayPalClient($credentials);
}
/** @test */
public function it_throws_exception_if_empty_credentials_are_provided()
{
$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage('Invalid configuration provided. Please provide valid configuration for PayPal API. You can also refer to the documentation at https://srmklive.github.io/laravel-paypal/docs.html to setup correct configuration.');
$credentials = $this->getApiCredentials();
$credentials['sandbox'] = [];
$this->client = new PayPalClient($credentials);
}
/** @test */
public function it_throws_exception_if_credentials_items_are_not_provided()
{
$item = 'client_id';
$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage("{$item} missing from the provided configuration. Please add your application {$item}.");
$credentials = $this->getApiCredentials();
$credentials['sandbox'][$item] = '';
$client = new PayPalClient($credentials);
}
/** @test */
public function it_can_take_valid_credentials_and_return_the_client_instance()
{
$this->assertInstanceOf(PayPalClient::class, $this->client);
}
/** @test */
public function it_throws_exception_if_invalid_credentials_are_provided_through_method()
{
$this->expectException(\RuntimeException::class);
$this->client->setApiCredentials([]);
}
/** @test */
public function it_returns_the_client_instance_if_valid_credentials_are_provided_through_method()
{
$this->client->setApiCredentials($this->getApiCredentials());
$this->assertInstanceOf(PayPalClient::class, $this->client);
}
/** @test */
public function it_throws_exception_if_invalid_currency_is_set()
{
$this->expectException(\RuntimeException::class);
$this->client->setCurrency('PKR');
$this->assertNotEquals('PKR', $this->client->getCurrency());
}
/** @test */
public function it_can_set_a_valid_currency()
{
$this->client->setCurrency('EUR');
$this->assertNotEmpty($this->client->getCurrency());
$this->assertEquals('EUR', $this->client->getCurrency());
}
/** @test */
public function it_can_set_a_request_header()
{
$this->client->setRequestHeader('Prefer', 'return=representation');
$this->assertNotEmpty($this->client->getRequestHeader('Prefer'));
$this->assertEquals($this->client->getRequestHeader('Prefer'), 'return=representation');
}
/** @test */
public function it_can_set_multiple_request_headers()
{
$this->client->setRequestHeaders([
'PayPal-Request-Id' => 'some-request-id',
'PayPal-Partner-Attribution-Id' => 'some-attribution-id',
]);
$this->assertNotEmpty($this->client->getRequestHeader('PayPal-Request-Id'));
$this->assertEquals($this->client->getRequestHeader('PayPal-Partner-Attribution-Id'), 'some-attribution-id');
}
/** @test */
public function it_throws_exception_if_options_header_not_set()
{
$this->expectException(\RuntimeException::class);
$this->expectExceptionCode('0');
$this->expectExceptionMessage('Options header is not set.');
$this->client->getRequestHeader('Prefer');
}
}