2020-08-31 13:38:54 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
2020-09-14 07:51:45 +03:00
|
|
|
namespace WooCommerce\PayPalCommerce\ApiClient\Entity;
|
2020-08-31 13:38:54 +03:00
|
|
|
|
2020-09-14 07:51:45 +03:00
|
|
|
use WooCommerce\PayPalCommerce\ApiClient\Exception\RuntimeException;
|
2022-02-09 16:28:27 +02:00
|
|
|
use WooCommerce\PayPalCommerce\TestCase;
|
2020-08-31 13:38:54 +03:00
|
|
|
|
|
|
|
class AuthorizationStatusTest extends TestCase
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @dataProvider statusDataProvider
|
|
|
|
* @param $status
|
|
|
|
*/
|
|
|
|
public function testValidStatusProvided($status)
|
|
|
|
{
|
|
|
|
$authorizationStatus = new AuthorizationStatus($status);
|
|
|
|
|
|
|
|
$this->assertEquals($authorizationStatus->name(), $status);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testInvalidStatusProvided()
|
|
|
|
{
|
|
|
|
$this->expectException(RuntimeException::class);
|
|
|
|
|
|
|
|
new AuthorizationStatus('invalid');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testStatusComparision()
|
|
|
|
{
|
|
|
|
$authorizationStatus = new AuthorizationStatus('CREATED');
|
|
|
|
|
|
|
|
$this->assertTrue($authorizationStatus->is('CREATED'));
|
|
|
|
$this->assertFalse($authorizationStatus->is('NOT_CREATED'));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function statusDataProvider(): array
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
['INTERNAL'],
|
|
|
|
['CREATED'],
|
|
|
|
['CAPTURED'],
|
|
|
|
['DENIED'],
|
|
|
|
['EXPIRED'],
|
|
|
|
['PARTIALLY_CAPTURED'],
|
|
|
|
['VOIDED'],
|
|
|
|
['PENDING'],
|
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|