diff --git a/.gitignore b/.gitignore index 264a78e0..693eb4cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ -.idea -vendor +/.idea +/vendor +/.phpunit.cache/ /.phpunit.result.cache diff --git a/composer.json b/composer.json index abd83212..1b068bbf 100644 --- a/composer.json +++ b/composer.json @@ -22,15 +22,15 @@ "symfony/yaml": "^6.2|^7.0|^8.0" }, "require-dev": { - "brianium/paratest": "^6.0", + "brianium/paratest": "^7.3", "jangregor/phpstan-prophecy": "2.2.0", "larapack/dd": "^1.1", "phpmd/phpmd": "^2.9", - "phpspec/prophecy-phpunit": "^2.0", + "phpspec/prophecy-phpunit": "^2.5", "phpstan/phpstan": "2.2.1", "phpstan/phpstan-deprecation-rules": "^2.0", "phpstan/phpstan-phpunit": "^2.0", - "phpunit/phpunit": "^9.3", + "phpunit/phpunit": "^10.5|^11.0|^12.0|^13.0", "rregeer/phpunit-coverage-check": "^0.3.1", "slevomat/coding-standard": "^8.15", "squizlabs/php_codesniffer": "^3.5", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 24f901e5..7d463868 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,7 +1,11 @@ - - + + src @@ -9,7 +13,7 @@ src/Dictionary/* src/Exception/* - + test/Unit diff --git a/test/ApiDataProviders.php b/test/ApiDataProviders.php index e0ce912b..b211ef5a 100644 --- a/test/ApiDataProviders.php +++ b/test/ApiDataProviders.php @@ -10,9 +10,9 @@ trait ApiDataProviders /** * @return iterable */ - public function provideGetEndpointsTestCases(): iterable + public static function provideGetEndpointsTestCases(): iterable { - foreach ($this->getGetEndpoints() as $endpoint => $value) { + foreach (static::getGetEndpoints() as $endpoint => $value) { [$data, $parameters] = $value; yield [$data, $endpoint, $parameters]; @@ -22,11 +22,11 @@ public function provideGetEndpointsTestCases(): iterable /** * @return iterable */ - public function provideGetEndpointsUnsuccessfulTestCases(): iterable + public static function provideGetEndpointsUnsuccessfulTestCases(): iterable { - foreach ($this->getGetEndpoints() as $endpoint => $value) { + foreach (static::getGetEndpoints() as $endpoint => $value) { $parameters = next($value); - foreach ($this->provideUnsuccessfulResponses() as $testCase) { + foreach (static::provideUnsuccessfulResponses() as $testCase) { yield [current($testCase), $endpoint, $parameters]; } } @@ -35,9 +35,16 @@ public function provideGetEndpointsUnsuccessfulTestCases(): iterable /** * @return iterable */ - public function providePostEndpointsTestCases(): iterable + public static function providePostEndpointsTestCases(): iterable { - foreach ($this->getPostEndpoints() as $endpoint => $value) { + $endpoints = static::getPostEndpoints(); + if (empty($endpoints)) { + yield [null, null, null]; + + return; + } + + foreach ($endpoints as $endpoint => $value) { [$model, $data] = $value; yield [$model, $data, $endpoint]; @@ -47,9 +54,9 @@ public function providePostEndpointsTestCases(): iterable /** * @return iterable */ - public function providePutEndpointsTestCases(): iterable + public static function providePutEndpointsTestCases(): iterable { - foreach ($this->getPutEndpoints() as $endpoint => $value) { + foreach (static::getPutEndpoints() as $endpoint => $value) { [$model, $data, $response] = $value; yield [$model, $data, $response, $endpoint]; @@ -59,11 +66,18 @@ public function providePutEndpointsTestCases(): iterable /** * @return iterable */ - public function providePostEndpointsUnsuccessfulTestCases(): iterable + public static function providePostEndpointsUnsuccessfulTestCases(): iterable { - foreach ($this->getPostEndpoints() as $endpoint => $value) { + $endpoints = static::getPostEndpoints(); + if (empty($endpoints)) { + yield [null, null, null]; + + return; + } + + foreach ($endpoints as $endpoint => $value) { $model = current($value); - foreach ($this->provideUnsuccessfulResponses() as $testCase) { + foreach (static::provideUnsuccessfulResponses() as $testCase) { yield [current($testCase), $endpoint, [$model]]; } } @@ -72,11 +86,18 @@ public function providePostEndpointsUnsuccessfulTestCases(): iterable /** * @return iterable */ - public function providePutEndpointsUnsuccessfulTestCases(): iterable + public static function providePutEndpointsUnsuccessfulTestCases(): iterable { - foreach ($this->getPutEndpoints() as $endpoint => $value) { + $endpoints = static::getPutEndpoints(); + if (empty($endpoints)) { + yield [null, null, null]; + + return; + } + + foreach ($endpoints as $endpoint => $value) { [$model, $data] = $value; - foreach ($this->provideUnsuccessfulResponses() as $testCase) { + foreach (static::provideUnsuccessfulResponses() as $testCase) { yield [current($testCase), $endpoint, [$model, $data]]; } } @@ -85,9 +106,16 @@ public function providePutEndpointsUnsuccessfulTestCases(): iterable /** * @return iterable */ - public function provideApiClientPutEndpointsTestCases(): iterable + public static function provideApiClientPutEndpointsTestCases(): iterable { - foreach ($this->getPutEndpoints() as $endpoint => $value) { + $endpoints = static::getPutEndpoints(); + if (empty($endpoints)) { + yield [null, null, null]; + + return; + } + + foreach ($endpoints as $endpoint => $value) { [$data, $response] = $value; yield [$data, $response, $endpoint]; @@ -97,10 +125,10 @@ public function provideApiClientPutEndpointsTestCases(): iterable /** * @return iterable */ - public function provideDeleteEndpointsUnsuccessfulTestCases(): iterable + public static function provideDeleteEndpointsUnsuccessfulTestCases(): iterable { - foreach ($this->getDeleteEndpoints() as $endpoint => $id) { - foreach ($this->provideUnsuccessfulResponses() as $testCase) { + foreach (static::getDeleteEndpoints() as $endpoint => $id) { + foreach (static::provideUnsuccessfulResponses() as $testCase) { yield [current($testCase), $endpoint, [$id]]; } } @@ -109,9 +137,9 @@ public function provideDeleteEndpointsUnsuccessfulTestCases(): iterable /** * @return iterable */ - public function provideDeleteEndpointsTestCases(): iterable + public static function provideDeleteEndpointsTestCases(): iterable { - foreach ($this->getDeleteEndpoints() as $endpoint => $id) { + foreach (static::getDeleteEndpoints() as $endpoint => $id) { yield [$id, $endpoint]; } } @@ -119,9 +147,16 @@ public function provideDeleteEndpointsTestCases(): iterable /** * @return iterable */ - public function provideDownloadEndpointsTestCases(): iterable + public static function provideDownloadEndpointsTestCases(): iterable { - foreach ($this->getDownloadsEndpoints() as $endpoint => $model) { + $endpoints = static::getDownloadsEndpoints(); + if (empty($endpoints)) { + yield [null, null]; + + return; + } + + foreach ($endpoints as $endpoint => $model) { yield [$model, $endpoint]; } } @@ -129,10 +164,17 @@ public function provideDownloadEndpointsTestCases(): iterable /** * @return iterable */ - public function provideDownloadUnsuccessfulTestCases(): iterable + public static function provideDownloadUnsuccessfulTestCases(): iterable { - foreach ($this->getDownloadsEndpoints() as $endpoint => $model) { - foreach ($this->provideUnsuccessfulResponses() as $testCase) { + $endpoints = static::getDownloadsEndpoints(); + if (empty($endpoints)) { + yield [null, null, null]; + + return; + } + + foreach ($endpoints as $endpoint => $model) { + foreach (static::provideUnsuccessfulResponses() as $testCase) { yield [current($testCase), $endpoint, [$model]]; } } @@ -141,30 +183,30 @@ public function provideDownloadUnsuccessfulTestCases(): iterable /** * @return array */ - abstract protected function getGetEndpoints(): array; + abstract protected static function getGetEndpoints(): array; /** * @return array */ - abstract protected function getPostEndpoints(): array; + abstract protected static function getPostEndpoints(): array; /** * @return array */ - abstract protected function getPutEndpoints(): array; + abstract protected static function getPutEndpoints(): array; /** * @return array */ - abstract protected function getDeleteEndpoints(): array; + abstract protected static function getDeleteEndpoints(): array; /** * @return array */ - abstract protected function getDownloadsEndpoints(): array; + abstract protected static function getDownloadsEndpoints(): array; /** * @return iterable */ - abstract protected function provideUnsuccessfulResponses(): iterable; + abstract protected static function provideUnsuccessfulResponses(): iterable; } diff --git a/test/ApiTestCase.php b/test/ApiTestCase.php index 6140cc14..7ccf2ea2 100644 --- a/test/ApiTestCase.php +++ b/test/ApiTestCase.php @@ -5,6 +5,7 @@ use Exception; use GuzzleHttp\Psr7\Response; use JsonException; +use PHPUnit\Framework\Attributes\DataProvider; use Psr\Http\Message\StreamInterface; use SupportPal\ApiClient\Api\Api; use SupportPal\ApiClient\Model\Model; @@ -14,12 +15,14 @@ abstract class ApiTestCase extends ContainerAwareBaseTestCase { + use ApiDataProviders; + /** - * @dataProvider provideGetEndpointsTestCases * @param array $data * @param array $parameters * @throws Exception */ + #[DataProvider('provideGetEndpointsTestCases')] public function testGetEndpoint(array $data, string $functionName, array $parameters): void { $this->appendRequestResponse( @@ -40,8 +43,8 @@ public function testGetEndpoint(array $data, string $functionName, array $parame * @param Response $response * @param array $parameters * @throws Exception - * @dataProvider provideGetEndpointsUnsuccessfulTestCases */ + #[DataProvider('provideGetEndpointsUnsuccessfulTestCases')] public function testUnsuccessfulGetEndpoint(Response $response, string $endpoint, array $parameters): void { $this->prepareUnsuccessfulApiRequest($response); @@ -53,8 +56,8 @@ public function testUnsuccessfulGetEndpoint(Response $response, string $endpoint /** * @param array $responseData * @throws Exception - * @dataProvider providePostEndpointsTestCases */ + #[DataProvider('providePostEndpointsTestCases')] public function testSuccessfulPostEndpoint(Model $model, array $responseData, string $functionName): void { $jsonSuccessfulBody = json_encode($responseData) ?: throw new JsonException('Failed to encode JSON.'); @@ -68,8 +71,8 @@ public function testSuccessfulPostEndpoint(Model $model, array $responseData, st /** * @param array $parameters * @throws Exception - * @dataProvider providePostEndpointsUnsuccessfulTestCases */ + #[DataProvider('providePostEndpointsUnsuccessfulTestCases')] public function testUnsuccessfulPostEndpoint(Response $response, string $endpoint, array $parameters): void { $this->prepareUnsuccessfulApiRequest($response); @@ -81,8 +84,8 @@ public function testUnsuccessfulPostEndpoint(Response $response, string $endpoin /** * @param array $responseData * @throws Exception - * @dataProvider providePutEndpointsTestCases */ + #[DataProvider('providePutEndpointsTestCases')] public function testSuccessfulPutEndpoint( int $id, Model $model, @@ -100,8 +103,8 @@ public function testSuccessfulPutEndpoint( /** * @param array $parameters * @throws Exception - * @dataProvider providePutEndpointsUnsuccessfulTestCases */ + #[DataProvider('providePutEndpointsUnsuccessfulTestCases')] public function testUnsuccessfulPutEndpoint(Response $response, string $endpoint, array $parameters): void { $this->prepareUnsuccessfulApiRequest($response); @@ -112,8 +115,8 @@ public function testUnsuccessfulPutEndpoint(Response $response, string $endpoint /** * @throws Exception - * @dataProvider provideDeleteEndpointsTestCases */ + #[DataProvider('provideDeleteEndpointsTestCases')] public function testSuccessfulDeleteEndpoint(int $id, string $functionName): void { $jsonSuccessfulBody = json_encode(['status' => 'success']) ?: throw new JsonException('Failed to encode JSON.'); @@ -126,8 +129,8 @@ public function testSuccessfulDeleteEndpoint(int $id, string $functionName): voi /** * @param array $parameters * @throws Exception - * @dataProvider provideDeleteEndpointsUnsuccessfulTestCases */ + #[DataProvider('provideDeleteEndpointsUnsuccessfulTestCases')] public function testUnsuccessfulDeleteEndpoint(Response $response, string $endpoint, array $parameters): void { $this->prepareUnsuccessfulApiRequest($response); @@ -136,11 +139,13 @@ public function testUnsuccessfulDeleteEndpoint(Response $response, string $endpo call_user_func_array($callable, $parameters); } - /** - * @dataProvider provideDownloadEndpointsTestCases - */ - public function testDownloadEndpoint(int $id, string $functionName): void + #[DataProvider('provideDownloadEndpointsTestCases')] + public function testDownloadEndpoint(?int $id, ?string $functionName): void { + if ($id === null || $functionName === null) { + $this->markTestSkipped('No download endpoints available for this API.'); + } + $this->appendRequestResponse(new Response(200, ['Content-Disposition' => 'test'], '')); /** @var callable $callable */ $callable = [$this->getApi(), $functionName]; @@ -150,11 +155,15 @@ public function testDownloadEndpoint(int $id, string $functionName): void /** * @param array $parameters - * @dataProvider provideDownloadUnsuccessfulTestCases * @throws Exception */ - public function testUnsuccessfulDownloadEndpoint(Response $response, string $endpoint, array $parameters): void + #[DataProvider('provideDownloadUnsuccessfulTestCases')] + public function testUnsuccessfulDownloadEndpoint(?Response $response, ?string $endpoint, ?array $parameters): void { + if ($response === null || $endpoint === null || $parameters === null) { + $this->markTestSkipped('No download endpoints available for this API.'); + } + $this->prepareUnsuccessfulApiRequest($response); /** @var callable $callable */ $callable = [$this->getApi(), $endpoint]; diff --git a/test/Cache/CacheableApisTest.php b/test/Cache/CacheableApisTest.php index 27bc009e..9b7b12d4 100644 --- a/test/Cache/CacheableApisTest.php +++ b/test/Cache/CacheableApisTest.php @@ -9,6 +9,7 @@ use GuzzleHttp\Psr7\Response; use Kevinrob\GuzzleCache\CacheMiddleware; use Kevinrob\GuzzleCache\Strategy\CacheStrategyInterface; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Cache\ApiCacheMap; use SupportPal\ApiClient\Cache\CacheStrategyConfigurator; use SupportPal\ApiClient\Http\Client; @@ -61,8 +62,8 @@ class CacheableApisTest extends ContainerAwareBaseTestCase * @param array $parameters * @param class-string $apiClientClass * @throws Exception - * @dataProvider provideCacheableApiCalls */ + #[DataProvider('provideCacheableApiCalls')] public function testGetCacheableApiTestCacheHit( string $endpoint, array $data, @@ -93,8 +94,8 @@ public function testGetCacheableApiTestCacheHit( * @param array $parameters * @param class-string $apiClientClass * @throws Exception - * @dataProvider provideCacheableApiCalls */ + #[DataProvider('provideCacheableApiCalls')] public function testGetCacheableApiTestCacheMiss( string $endpoint, array $data, @@ -141,8 +142,8 @@ public function testGetCacheableApiTestCacheMiss( * @param array $parameters * @param class-string $apiClientClass * @throws Exception - * @dataProvider provideNonCacheableApis */ + #[DataProvider('provideNonCacheableApis')] public function testNonCacheableApisAlwaysMiss( string $endpoint, array $data, @@ -178,7 +179,7 @@ protected function tearDown(): void /** * @return iterable */ - public function provideCacheableApiCalls(): iterable + public static function provideCacheableApiCalls(): iterable { /** Core Apis */ $brandData = new BrandData; @@ -253,7 +254,7 @@ public function provideCacheableApiCalls(): iterable /** * @return iterable */ - public function provideNonCacheableApis(): iterable + public static function provideNonCacheableApis(): iterable { /** SelfService Apis */ $attachmentData = new ArticleAttachmentData; diff --git a/test/ContainerAwareBaseTestCase.php b/test/ContainerAwareBaseTestCase.php index 365274ea..d04d57bd 100644 --- a/test/ContainerAwareBaseTestCase.php +++ b/test/ContainerAwareBaseTestCase.php @@ -24,7 +24,7 @@ abstract class ContainerAwareBaseTestCase extends TestCase { /** @var array */ - protected $genericErrorResponse = [ + protected const GENERIC_ERROR_RESPONSE = [ 'status' => 'error', 'message' => 'unsuccessful error', 'data' => [] @@ -40,24 +40,22 @@ abstract class ContainerAwareBaseTestCase extends TestCase protected $mockRequestHandler; /** - * @return iterable> + * @return iterable> */ - public function provideUnsuccessfulResponses(): iterable + public static function provideUnsuccessfulResponses(): iterable { - $jsonSuccessfulBody = $this->genericErrorResponse; + $jsonSuccessfulBody = self::GENERIC_ERROR_RESPONSE; $jsonSuccessfulBody['status'] = 'success'; $jsonSuccessfulBody = json_encode($jsonSuccessfulBody) ?: throw new JsonException('Failed to encode JSON data.'); - yield ['error 400 response' => new Response(400, [], $jsonSuccessfulBody)]; - yield ['error 401 response' => new Response(401, [], $jsonSuccessfulBody)]; - yield ['error 403 response' => new Response(403, [], $jsonSuccessfulBody)]; - yield ['error 404 response' => new Response(404, [], $jsonSuccessfulBody)]; + yield 'error 400 response' => [new Response(400, [], $jsonSuccessfulBody)]; + yield 'error 401 response' => [new Response(401, [], $jsonSuccessfulBody)]; + yield 'error 403 response' => [new Response(403, [], $jsonSuccessfulBody)]; + yield 'error 404 response' => [new Response(404, [], $jsonSuccessfulBody)]; - $jsonErrorBody = json_encode($this->genericErrorResponse) ?: throw new JsonException('Failed to encode JSON data.'); + $jsonErrorBody = json_encode(self::GENERIC_ERROR_RESPONSE) ?: throw new JsonException('Failed to encode JSON data.'); - yield [ - 'error status response' => new Response(200, [], $jsonErrorBody) - ]; + yield 'error status response' => [new Response(200, [], $jsonErrorBody)]; } /** diff --git a/test/E2E/BaseTestCase.php b/test/E2E/BaseTestCase.php index 4013c971..b83ddcc8 100644 --- a/test/E2E/BaseTestCase.php +++ b/test/E2E/BaseTestCase.php @@ -3,6 +3,7 @@ namespace SupportPal\ApiClient\Tests\E2E; use GuzzleHttp\Client; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\ExpectationFailedException; use SupportPal\ApiClient\Api\CoreApi; use SupportPal\ApiClient\Api\SelfServiceApi; @@ -56,8 +57,8 @@ public function setUp(): void /** * @throws HttpResponseException - * @dataProvider provideGetAllEndpoints */ + #[DataProvider('provideGetAllEndpoints')] public function testGetAll(string $endpoint, string $apiCall): void { $start = 1; @@ -96,9 +97,9 @@ public function testGetAll(string $endpoint, string $apiCall): void /** * @return iterable */ - public function provideGetAllEndpoints(): iterable + public static function provideGetAllEndpoints(): iterable { - foreach ($this->getGetAllEndpoints() as $endpoint => $apiCall) { + foreach (static::getGetAllEndpoints() as $endpoint => $apiCall) { yield [$endpoint, $apiCall]; } } @@ -106,11 +107,10 @@ public function provideGetAllEndpoints(): iterable /** * @return string[] */ - abstract protected function getGetAllEndpoints(): array; + abstract protected static function getGetAllEndpoints(): array; - /** - * @dataProvider provideGetOneEndpoints - */ + /** */ + #[DataProvider('provideGetOneEndpoints')] public function testGetOne(string $endpoint, string $apiCall): void { $iteration = 1; @@ -146,9 +146,9 @@ public function testGetOne(string $endpoint, string $apiCall): void /** * @return iterable */ - public function provideGetOneEndpoints(): iterable + public static function provideGetOneEndpoints(): iterable { - foreach ($this->getGetOneEndpoints() as $endpoint => $apiCall) { + foreach (static::getGetOneEndpoints() as $endpoint => $apiCall) { yield [$endpoint, $apiCall]; } } @@ -156,12 +156,12 @@ public function provideGetOneEndpoints(): iterable /** * @return string[] */ - abstract protected function getGetOneEndpoints(): array; + abstract protected static function getGetOneEndpoints(): array; /** * @param mixed[] $data - * @dataProvider providePostEndpoints */ + #[DataProvider('providePostEndpoints')] public function testPost(string $endpoint, array $data): void { $iteration = 1; @@ -193,9 +193,9 @@ public function testPost(string $endpoint, array $data): void /** * @return iterable */ - public function providePostEndpoints(): iterable + public static function providePostEndpoints(): iterable { - foreach ($this->getPostEndpoints() as $endpoint => $data) { + foreach (static::getPostEndpoints() as $endpoint => $data) { yield [$endpoint, $data]; } } @@ -203,7 +203,7 @@ public function providePostEndpoints(): iterable /** * @return array */ - abstract protected function getPostEndpoints(): array; + abstract protected static function getPostEndpoints(): array; protected function settingsTestCase(string $endpoint, string $apiCall): void { diff --git a/test/E2E/CoreApisTest.php b/test/E2E/CoreApisTest.php index f39ab4a2..d7d67243 100644 --- a/test/E2E/CoreApisTest.php +++ b/test/E2E/CoreApisTest.php @@ -13,7 +13,7 @@ class CoreApisTest extends BaseTestCase /** * @inheritDoc */ - protected function getGetAllEndpoints(): array + protected static function getGetAllEndpoints(): array { return [ ApiDictionary::CORE_BRAND => 'getBrands', @@ -27,7 +27,7 @@ protected function getGetAllEndpoints(): array /** * @inheritDoc */ - protected function getGetOneEndpoints(): array + protected static function getGetOneEndpoints(): array { return [ ApiDictionary::CORE_BRAND => 'getBrand', @@ -40,7 +40,7 @@ protected function getGetOneEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return [ ApiDictionary::CORE_IP_BAN => CreateIpBanData::DATA, diff --git a/test/E2E/SelfServiceApisTest.php b/test/E2E/SelfServiceApisTest.php index b806d441..f1daa599 100644 --- a/test/E2E/SelfServiceApisTest.php +++ b/test/E2E/SelfServiceApisTest.php @@ -11,7 +11,7 @@ class SelfServiceApisTest extends BaseTestCase /** * @inheritDoc */ - protected function getGetAllEndpoints(): array + protected static function getGetAllEndpoints(): array { return [ ApiDictionary::SELF_SERVICE_ARTICLE => 'getArticles', @@ -26,7 +26,7 @@ protected function getGetAllEndpoints(): array /** * @inheritDoc */ - protected function getGetOneEndpoints(): array + protected static function getGetOneEndpoints(): array { return [ ApiDictionary::SELF_SERVICE_ARTICLE => 'getArticle', @@ -41,7 +41,7 @@ protected function getGetOneEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return []; } diff --git a/test/E2E/TicketApisTest.php b/test/E2E/TicketApisTest.php index b65aa6f6..ed321931 100644 --- a/test/E2E/TicketApisTest.php +++ b/test/E2E/TicketApisTest.php @@ -10,7 +10,7 @@ class TicketApisTest extends BaseTestCase /** * @inheritDoc */ - protected function getGetAllEndpoints(): array + protected static function getGetAllEndpoints(): array { return [ ApiDictionary::TICKET_CUSTOMFIELD => 'getCustomFields', @@ -26,7 +26,7 @@ protected function getGetAllEndpoints(): array /** * @inheritDoc */ - protected function getGetOneEndpoints(): array + protected static function getGetOneEndpoints(): array { return [ ApiDictionary::TICKET_CUSTOMFIELD => 'getCustomField', @@ -42,7 +42,7 @@ protected function getGetOneEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return []; } diff --git a/test/E2E/UserApisTest.php b/test/E2E/UserApisTest.php index 41043d18..9ef5a88d 100644 --- a/test/E2E/UserApisTest.php +++ b/test/E2E/UserApisTest.php @@ -10,7 +10,7 @@ class UserApisTest extends BaseTestCase /** * @inheritDoc */ - protected function getGetAllEndpoints(): array + protected static function getGetAllEndpoints(): array { return [ ApiDictionary::USER_OPERATOR => 'getOperators', @@ -26,7 +26,7 @@ protected function getGetAllEndpoints(): array /** * @inheritDoc */ - protected function getGetOneEndpoints(): array + protected static function getGetOneEndpoints(): array { return [ ApiDictionary::USER_OPERATOR => 'getOperator', @@ -42,7 +42,7 @@ protected function getGetOneEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return []; } diff --git a/test/Functional/Api/CoreApisTest.php b/test/Functional/Api/CoreApisTest.php index d8df79c9..2d5f1567 100644 --- a/test/Functional/Api/CoreApisTest.php +++ b/test/Functional/Api/CoreApisTest.php @@ -5,14 +5,14 @@ use Exception; use SupportPal\ApiClient\Api\Api; use SupportPal\ApiClient\Tests\DataFixtures\ApiCalls\CoreApisData; -use SupportPal\ApiClient\Tests\Functional\ApiComponentTest; +use SupportPal\ApiClient\Tests\Functional\ApiComponentTestCase; -class CoreApisTest extends ApiComponentTest +class CoreApisTest extends ApiComponentTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { return (new CoreApisData)->getApiCalls(); } @@ -20,7 +20,7 @@ protected function getGetEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return (new CoreApisData)->postApiCalls(); } @@ -28,7 +28,7 @@ protected function getPostEndpoints(): array /** * @inheritDoc */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return (new CoreApisData)->putApiCalls(); } @@ -36,7 +36,7 @@ protected function getPutEndpoints(): array /** * @inheritDoc */ - protected function getDeleteEndpoints(): array + protected static function getDeleteEndpoints(): array { return (new CoreApisData)->deleteApiCalls(); } @@ -44,7 +44,7 @@ protected function getDeleteEndpoints(): array /** * @inheritDoc */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return []; } diff --git a/test/Functional/Api/SelfServiceApisTest.php b/test/Functional/Api/SelfServiceApisTest.php index 9a1e2a5b..6d8d3945 100644 --- a/test/Functional/Api/SelfServiceApisTest.php +++ b/test/Functional/Api/SelfServiceApisTest.php @@ -6,14 +6,14 @@ use SupportPal\ApiClient\Api\Api; use SupportPal\ApiClient\Exception\InvalidArgumentException; use SupportPal\ApiClient\Tests\DataFixtures\ApiCalls\SelfServiceApisData; -use SupportPal\ApiClient\Tests\Functional\ApiComponentTest; +use SupportPal\ApiClient\Tests\Functional\ApiComponentTestCase; -class SelfServiceApisTest extends ApiComponentTest +class SelfServiceApisTest extends ApiComponentTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { return (new SelfServiceApisData)->getApiCalls(); } @@ -22,7 +22,7 @@ protected function getGetEndpoints(): array * @return mixed[] * @throws InvalidArgumentException */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return (new SelfServiceApisData)->postApiCalls(); } @@ -30,7 +30,7 @@ protected function getPostEndpoints(): array /** * @inheritDoc */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return (new SelfServiceApisData)->putApiCalls(); } @@ -38,7 +38,7 @@ protected function getPutEndpoints(): array /** * @inheritDoc */ - protected function getDeleteEndpoints(): array + protected static function getDeleteEndpoints(): array { return (new SelfServiceApisData)->deleteApiCalls(); } @@ -46,7 +46,7 @@ protected function getDeleteEndpoints(): array /** * @inheritDoc */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return (new SelfServiceApisData)->downloadApiCalls(); } diff --git a/test/Functional/Api/TicketApisTest.php b/test/Functional/Api/TicketApisTest.php index f2ca161e..d771c2be 100644 --- a/test/Functional/Api/TicketApisTest.php +++ b/test/Functional/Api/TicketApisTest.php @@ -6,14 +6,14 @@ use SupportPal\ApiClient\Api\Api; use SupportPal\ApiClient\Exception\InvalidArgumentException; use SupportPal\ApiClient\Tests\DataFixtures\ApiCalls\TicketApisData; -use SupportPal\ApiClient\Tests\Functional\ApiComponentTest; +use SupportPal\ApiClient\Tests\Functional\ApiComponentTestCase; -class TicketApisTest extends ApiComponentTest +class TicketApisTest extends ApiComponentTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { return (new TicketApisData)->getApiCalls(); } @@ -22,7 +22,7 @@ protected function getGetEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return (new TicketApisData)->postApiCalls(); } @@ -31,7 +31,7 @@ protected function getPostEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return (new TicketApisData)->putApiCalls(); } @@ -39,7 +39,7 @@ protected function getPutEndpoints(): array /** * @inheritDoc */ - protected function getDeleteEndpoints(): array + protected static function getDeleteEndpoints(): array { return (new TicketApisData)->deleteApiCalls(); } @@ -48,7 +48,7 @@ protected function getDeleteEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return (new TicketApisData)->downloadApiCalls(); } diff --git a/test/Functional/Api/UserApisTest.php b/test/Functional/Api/UserApisTest.php index 0cae1c10..34883925 100644 --- a/test/Functional/Api/UserApisTest.php +++ b/test/Functional/Api/UserApisTest.php @@ -6,14 +6,14 @@ use SupportPal\ApiClient\Api\Api; use SupportPal\ApiClient\Exception\InvalidArgumentException; use SupportPal\ApiClient\Tests\DataFixtures\ApiCalls\UserApisData; -use SupportPal\ApiClient\Tests\Functional\ApiComponentTest; +use SupportPal\ApiClient\Tests\Functional\ApiComponentTestCase; -class UserApisTest extends ApiComponentTest +class UserApisTest extends ApiComponentTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { return (new UserApisData)->getApiCalls(); } @@ -22,7 +22,7 @@ protected function getGetEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return (new UserApisData)->postApiCalls(); } @@ -31,7 +31,7 @@ protected function getPostEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return (new UserApisData)->putApiCalls(); } @@ -39,7 +39,7 @@ protected function getPutEndpoints(): array /** * @inheritDoc */ - protected function getDeleteEndpoints(): array + protected static function getDeleteEndpoints(): array { return (new UserApisData)->deleteApiCalls(); } @@ -47,7 +47,7 @@ protected function getDeleteEndpoints(): array /** * @inheritDoc */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return []; } diff --git a/test/Functional/ApiComponentTest.php b/test/Functional/ApiComponentTestCase.php similarity index 66% rename from test/Functional/ApiComponentTest.php rename to test/Functional/ApiComponentTestCase.php index 007bb835..d1df4ba2 100644 --- a/test/Functional/ApiComponentTest.php +++ b/test/Functional/ApiComponentTestCase.php @@ -2,13 +2,10 @@ namespace SupportPal\ApiClient\Tests\Functional; -use SupportPal\ApiClient\Tests\ApiDataProviders; use SupportPal\ApiClient\Tests\ApiTestCase; -abstract class ApiComponentTest extends ApiTestCase +abstract class ApiComponentTestCase extends ApiTestCase { - use ApiDataProviders; - protected function setUp(): void { parent::setUp(); diff --git a/test/Functional/SupportPalTest.php b/test/Functional/SupportPalTest.php index b593f40c..d19c8593 100644 --- a/test/Functional/SupportPalTest.php +++ b/test/Functional/SupportPalTest.php @@ -4,6 +4,7 @@ use Exception; use GuzzleHttp\Psr7\Response; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Config\ApiContext; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\Request; @@ -41,7 +42,7 @@ public function testSendRequestUnSuccessful(): void $response = new Response( 200, [], - (string) json_encode($this->genericErrorResponse) + (string) json_encode(self::GENERIC_ERROR_RESPONSE) ); $this->appendRequestResponse($response); $request = $this->getSupportPal()->getRequest()->create('GET', 'test_endpoint'); @@ -49,10 +50,10 @@ public function testSendRequestUnSuccessful(): void } /** - * @dataProvider provideApiTokens * @param string $apiToken * @throws Exception */ + #[DataProvider('provideApiTokens')] public function testEscapePercentApiToken(string $apiToken): void { $request = (new SupportPal(new ApiContext('localhost', $apiToken)))->getRequest()->create('GET', 'test'); @@ -62,7 +63,7 @@ public function testEscapePercentApiToken(string $apiToken): void /** * @return iterable> */ - public function provideApiTokens(): iterable + public static function provideApiTokens(): iterable { yield ['api_token_without_percent']; yield ['api_token%']; diff --git a/test/Integration/Api/CoreApisComponentTest.php b/test/Integration/Api/CoreApisComponentTest.php index 53d4d9ed..782b6a35 100644 --- a/test/Integration/Api/CoreApisComponentTest.php +++ b/test/Integration/Api/CoreApisComponentTest.php @@ -4,14 +4,14 @@ use SupportPal\ApiClient\Api\CoreApi; use SupportPal\ApiClient\Tests\DataFixtures\ApiCalls\CoreApisData; -use SupportPal\ApiClient\Tests\Integration\ApiComponentTest; +use SupportPal\ApiClient\Tests\Integration\ApiComponentTestCase; -class CoreApisComponentTest extends ApiComponentTest +class CoreApisComponentTest extends ApiComponentTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { return (new CoreApisData)->getApiCalls(); } @@ -19,7 +19,7 @@ protected function getGetEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return (new CoreApisData)->postApiCalls(); } @@ -27,7 +27,7 @@ protected function getPostEndpoints(): array /** * @inheritDoc */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return (new CoreApisData)->putApiCalls(); } @@ -35,7 +35,7 @@ protected function getPutEndpoints(): array /** * @inheritDoc */ - protected function getDeleteEndpoints(): array + protected static function getDeleteEndpoints(): array { return (new CoreApisData)->deleteApiCalls(); } @@ -43,7 +43,7 @@ protected function getDeleteEndpoints(): array /** * @inheritDoc */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return []; } diff --git a/test/Integration/Api/SelfServiceApisComponentTest.php b/test/Integration/Api/SelfServiceApisComponentTest.php index f83a7c85..b155cb27 100644 --- a/test/Integration/Api/SelfServiceApisComponentTest.php +++ b/test/Integration/Api/SelfServiceApisComponentTest.php @@ -4,14 +4,14 @@ use SupportPal\ApiClient\Api\SelfServiceApi; use SupportPal\ApiClient\Tests\DataFixtures\ApiCalls\SelfServiceApisData; -use SupportPal\ApiClient\Tests\Integration\ApiComponentTest; +use SupportPal\ApiClient\Tests\Integration\ApiComponentTestCase; -class SelfServiceApisComponentTest extends ApiComponentTest +class SelfServiceApisComponentTest extends ApiComponentTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { return (new SelfServiceApisData)->getApiCalls(); } @@ -19,7 +19,7 @@ protected function getGetEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return (new SelfServiceApisData)->postApiCalls(); } @@ -27,7 +27,7 @@ protected function getPostEndpoints(): array /** * @inheritDoc */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return (new SelfServiceApisData)->putApiCalls(); } @@ -35,7 +35,7 @@ protected function getPutEndpoints(): array /** * @inheritDoc */ - protected function getDeleteEndpoints(): array + protected static function getDeleteEndpoints(): array { return (new SelfServiceApisData)->deleteApiCalls(); } @@ -43,7 +43,7 @@ protected function getDeleteEndpoints(): array /** * @inheritDoc */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return (new SelfServiceApisData)->downloadApiCalls(); } diff --git a/test/Integration/Api/TicketApisComponentTest.php b/test/Integration/Api/TicketApisComponentTest.php index b5327852..e61009fd 100644 --- a/test/Integration/Api/TicketApisComponentTest.php +++ b/test/Integration/Api/TicketApisComponentTest.php @@ -5,14 +5,14 @@ use SupportPal\ApiClient\Api\TicketApi; use SupportPal\ApiClient\Exception\InvalidArgumentException; use SupportPal\ApiClient\Tests\DataFixtures\ApiCalls\TicketApisData; -use SupportPal\ApiClient\Tests\Integration\ApiComponentTest; +use SupportPal\ApiClient\Tests\Integration\ApiComponentTestCase; -class TicketApisComponentTest extends ApiComponentTest +class TicketApisComponentTest extends ApiComponentTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { return (new TicketApisData)->getApiCalls(); } @@ -21,7 +21,7 @@ protected function getGetEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return (new TicketApisData)->postApiCalls(); } @@ -30,7 +30,7 @@ protected function getPostEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return (new TicketApisData)->putApiCalls(); } @@ -38,7 +38,7 @@ protected function getPutEndpoints(): array /** * @inheritDoc */ - protected function getDeleteEndpoints(): array + protected static function getDeleteEndpoints(): array { return (new TicketApisData)->deleteApiCalls(); } @@ -47,7 +47,7 @@ protected function getDeleteEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return (new TicketApisData)->downloadApiCalls(); } diff --git a/test/Integration/Api/UserApisComponentTest.php b/test/Integration/Api/UserApisComponentTest.php index 7491e374..af0b1513 100644 --- a/test/Integration/Api/UserApisComponentTest.php +++ b/test/Integration/Api/UserApisComponentTest.php @@ -5,14 +5,14 @@ use SupportPal\ApiClient\Api\UserApi; use SupportPal\ApiClient\Exception\InvalidArgumentException; use SupportPal\ApiClient\Tests\DataFixtures\ApiCalls\UserApisData; -use SupportPal\ApiClient\Tests\Integration\ApiComponentTest; +use SupportPal\ApiClient\Tests\Integration\ApiComponentTestCase; -class UserApisComponentTest extends ApiComponentTest +class UserApisComponentTest extends ApiComponentTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { return (new UserApisData)->getApiCalls(); } @@ -21,7 +21,7 @@ protected function getGetEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return (new UserApisData)->postApiCalls(); } @@ -30,7 +30,7 @@ protected function getPostEndpoints(): array * @inheritDoc * @throws InvalidArgumentException */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return (new UserApisData)->putApiCalls(); } @@ -38,7 +38,7 @@ protected function getPutEndpoints(): array /** * @inheritDoc */ - protected function getDeleteEndpoints(): array + protected static function getDeleteEndpoints(): array { return (new UserApisData)->deleteApiCalls(); } @@ -46,7 +46,7 @@ protected function getDeleteEndpoints(): array /** * @inheritDoc */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return []; } diff --git a/test/Integration/ApiClient/CoreApisTest.php b/test/Integration/ApiClient/CoreApisTest.php index 95313894..f66b62c5 100644 --- a/test/Integration/ApiClient/CoreApisTest.php +++ b/test/Integration/ApiClient/CoreApisTest.php @@ -5,14 +5,14 @@ use SupportPal\ApiClient\Http\CoreClient; use SupportPal\ApiClient\Tests\DataFixtures\Core\BrandData; use SupportPal\ApiClient\Tests\DataFixtures\Core\SettingsData; -use SupportPal\ApiClient\Tests\Integration\ApiClientTest; +use SupportPal\ApiClient\Tests\Integration\ApiClientTestCase; -class CoreApisTest extends ApiClientTest +class CoreApisTest extends ApiClientTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { $brandData = new BrandData; @@ -26,7 +26,7 @@ protected function getGetEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return []; } @@ -34,7 +34,7 @@ protected function getPostEndpoints(): array /** * @inheritDoc */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return []; } diff --git a/test/Integration/ApiClient/SelfServiceApisTest.php b/test/Integration/ApiClient/SelfServiceApisTest.php index d583629c..a3a0762f 100644 --- a/test/Integration/ApiClient/SelfServiceApisTest.php +++ b/test/Integration/ApiClient/SelfServiceApisTest.php @@ -10,14 +10,14 @@ use SupportPal\ApiClient\Tests\DataFixtures\SelfService\SettingsData; use SupportPal\ApiClient\Tests\DataFixtures\SelfService\TagData; use SupportPal\ApiClient\Tests\DataFixtures\SelfService\TypeData; -use SupportPal\ApiClient\Tests\Integration\ApiClientTest; +use SupportPal\ApiClient\Tests\Integration\ApiClientTestCase; -class SelfServiceApisTest extends ApiClientTest +class SelfServiceApisTest extends ApiClientTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { $typeData = new TypeData; $commentData = new CommentData; @@ -46,7 +46,7 @@ protected function getGetEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { $commentData = new CommentData; $createCommentData = new CreateCommentData; @@ -59,7 +59,7 @@ protected function getPostEndpoints(): array /** * @inheritDoc */ - public function getPutEndpoints(): array + public static function getPutEndpoints(): array { return []; } diff --git a/test/Integration/ApiClient/TicketApisTest.php b/test/Integration/ApiClient/TicketApisTest.php index ebf50470..e0a6749b 100644 --- a/test/Integration/ApiClient/TicketApisTest.php +++ b/test/Integration/ApiClient/TicketApisTest.php @@ -15,14 +15,14 @@ use SupportPal\ApiClient\Tests\DataFixtures\Ticket\StatusData; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\TicketCustomFieldData; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\TicketData; -use SupportPal\ApiClient\Tests\Integration\ApiClientTest; +use SupportPal\ApiClient\Tests\Integration\ApiClientTestCase; -class TicketApisTest extends ApiClientTest +class TicketApisTest extends ApiClientTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { $departmentData = new DepartmentData; $settingsData = new SettingsData; @@ -57,7 +57,7 @@ protected function getGetEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { $createTicket = new CreateTicketData; $createMessage = new CreateMessageData; @@ -71,7 +71,7 @@ protected function getPostEndpoints(): array /** * @inheritDoc */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { $updateTicketData = new UpdateTicketData; @@ -83,7 +83,7 @@ protected function getPutEndpoints(): array /** * @return array */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return ['downloadAttachment' => 1]; } diff --git a/test/Integration/ApiClient/UserApisTest.php b/test/Integration/ApiClient/UserApisTest.php index 72f97414..60e66ca0 100644 --- a/test/Integration/ApiClient/UserApisTest.php +++ b/test/Integration/ApiClient/UserApisTest.php @@ -8,14 +8,14 @@ use SupportPal\ApiClient\Tests\DataFixtures\User\Request\UpdateUserData; use SupportPal\ApiClient\Tests\DataFixtures\User\UserCustomFieldData; use SupportPal\ApiClient\Tests\DataFixtures\User\UserData; -use SupportPal\ApiClient\Tests\Integration\ApiClientTest; +use SupportPal\ApiClient\Tests\Integration\ApiClientTestCase; -class UserApisTest extends ApiClientTest +class UserApisTest extends ApiClientTestCase { /** * @inheritDoc */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { $userData = new UserData; $customFieldsData = new UserCustomFieldData; @@ -34,7 +34,7 @@ protected function getGetEndpoints(): array /** * @inheritDoc */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return [ 'postUser' => [CreateUserData::DATA, (new UserData)->getResponse()], @@ -44,7 +44,7 @@ protected function getPostEndpoints(): array /** * @inheritDoc */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return [ 'putUser' => [UpdateUserData::DATA, (new UserData)->getResponse()], diff --git a/test/Integration/ApiClientTest.php b/test/Integration/ApiClientTestCase.php similarity index 67% rename from test/Integration/ApiClientTest.php rename to test/Integration/ApiClientTestCase.php index b55dba4f..9d857c44 100644 --- a/test/Integration/ApiClientTest.php +++ b/test/Integration/ApiClientTestCase.php @@ -7,6 +7,7 @@ use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\Response; use JsonException; +use PHPUnit\Framework\Attributes\DataProvider; use Psr\Http\Message\ResponseInterface; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\Client; @@ -17,7 +18,7 @@ use function json_decode; use function json_encode; -class ApiClientTest extends ContainerAwareBaseTestCase +class ApiClientTestCase extends ContainerAwareBaseTestCase { use ApiDataProviders; @@ -60,12 +61,11 @@ public function testResponseNonEncodeableException(): void } /** - * @dataProvider provideGetEndpointsTestCases * @param array $data - * @param string $functionName * @param array $parameters * @throws Exception */ + #[DataProvider('provideGetEndpointsTestCases')] public function testGetEndpoints(array $data, string $functionName, array $parameters): void { $expectedResponse = new Response( @@ -84,8 +84,8 @@ public function testGetEndpoints(array $data, string $functionName, array $param * @param string $endpoint * @param array $parameters * @throws Exception - * @dataProvider provideGetEndpointsUnsuccessfulTestCases */ + #[DataProvider('provideGetEndpointsUnsuccessfulTestCases')] public function testUnsuccessfulGetEndpoint(Response $response, string $endpoint, array $parameters): void { $this->prepareUnsuccessfulApiRequest($response); @@ -93,14 +93,18 @@ public function testUnsuccessfulGetEndpoint(Response $response, string $endpoint } /** - * @dataProvider providePostEndpointsTestCases - * @param array $modelData - * @param array $responseData - * @param string $endpoint + * @param array|null $modelData + * @param array|null $responseData + * @param string|null $endpoint * @throws Exception */ - public function testPostModel(array $modelData, array $responseData, string $endpoint): void + #[DataProvider('providePostEndpointsTestCases')] + public function testPostModel(?array $modelData, ?array $responseData, ?string $endpoint): void { + if ($modelData === null || $responseData === null || $endpoint === null) { + $this->markTestSkipped('No POST endpoints available for this API.'); + } + $jsonSuccessfulBody = json_encode($responseData) ?: throw new JsonException('Failed to encode JSON data.'); $expectedResponse = new Response(200, [], $jsonSuccessfulBody); $this->appendRequestResponse($expectedResponse); @@ -113,27 +117,35 @@ public function testPostModel(array $modelData, array $responseData, string $end } /** - * @param Response $response - * @param string $endpoint - * @param array $data + * @param Response|null $response + * @param string|null $endpoint + * @param array|null $data * @throws Exception - * @dataProvider providePostEndpointsUnsuccessfulTestCases */ - public function testUnsuccessfulPostModel(Response $response, string $endpoint, array $data): void + #[DataProvider('providePostEndpointsUnsuccessfulTestCases')] + public function testUnsuccessfulPostModel(?Response $response, ?string $endpoint, ?array $data): void { + if ($response === null || $endpoint === null || $data === null) { + $this->markTestSkipped('No POST endpoints available for this API.'); + } + $this->prepareUnsuccessfulApiRequest($response); $this->makeClientCall($endpoint, [$data]); } /** - * @dataProvider provideApiClientPutEndpointsTestCases - * @param array $modelData - * @param array $responseData - * @param string $endpoint + * @param array|null $modelData + * @param array|null $responseData + * @param string|null $endpoint * @throws Exception */ - public function testPutModel(array $modelData, array $responseData, string $endpoint): void + #[DataProvider('provideApiClientPutEndpointsTestCases')] + public function testPutModel(?array $modelData, ?array $responseData, ?string $endpoint): void { + if ($modelData === null || $responseData === null || $endpoint === null) { + $this->markTestSkipped('No PUT endpoints available for this API.'); + } + $jsonSuccessfulBody = json_encode($responseData) ?: throw new JsonException('Failed to encode JSON data.'); $expectedResponse = new Response(200, [], $jsonSuccessfulBody); $this->appendRequestResponse($expectedResponse); @@ -146,25 +158,29 @@ public function testPutModel(array $modelData, array $responseData, string $endp } /** - * @param Response $response - * @param string $endpoint - * @param array $data + * @param Response|null $response + * @param string|null $endpoint + * @param array|null $data * @throws Exception - * @dataProvider providePutEndpointsUnsuccessfulTestCases */ - public function testUnsuccessfulPutModel(Response $response, string $endpoint, array $data): void + #[DataProvider('providePutEndpointsUnsuccessfulTestCases')] + public function testUnsuccessfulPutModel(?Response $response, ?string $endpoint, ?array $data): void { + if ($response === null || $endpoint === null || $data === null) { + $this->markTestSkipped('No PUT endpoints available for this API.'); + } + $this->prepareUnsuccessfulApiRequest($response); $this->makeClientCall($endpoint, [self::TEST_ID, $data]); } - /** - * @param int $modelId - * @param string $endpoint - * @dataProvider provideDownloadEndpointsTestCases - */ - public function testDownloadEndpoint(int $modelId, string $endpoint): void + #[DataProvider('provideDownloadEndpointsTestCases')] + public function testDownloadEndpoint(?int $modelId, ?string $endpoint): void { + if ($modelId === null || $endpoint === null) { + $this->markTestSkipped('No download endpoints available for this API.'); + } + $expectedResponse = new Response(200, ['Content-Disposition' => 'test'], ''); $this->appendRequestResponse($expectedResponse); $response = $this->makeClientCall($endpoint, [$modelId]); @@ -174,7 +190,7 @@ public function testDownloadEndpoint(int $modelId, string $endpoint): void /** * @return array */ - protected function getGetEndpoints(): array + protected static function getGetEndpoints(): array { return []; } @@ -182,7 +198,7 @@ protected function getGetEndpoints(): array /** * @return array */ - protected function getPostEndpoints(): array + protected static function getPostEndpoints(): array { return []; } @@ -190,7 +206,7 @@ protected function getPostEndpoints(): array /** * @return array */ - protected function getPutEndpoints(): array + protected static function getPutEndpoints(): array { return []; } @@ -198,7 +214,7 @@ protected function getPutEndpoints(): array /** * @return array */ - protected function getDeleteEndpoints(): array + protected static function getDeleteEndpoints(): array { return []; } @@ -206,7 +222,7 @@ protected function getDeleteEndpoints(): array /** * @return array */ - protected function getDownloadsEndpoints(): array + protected static function getDownloadsEndpoints(): array { return []; } diff --git a/test/Integration/ApiComponentTest.php b/test/Integration/ApiComponentTestCase.php similarity index 82% rename from test/Integration/ApiComponentTest.php rename to test/Integration/ApiComponentTestCase.php index 4f94fa03..216e41a1 100644 --- a/test/Integration/ApiComponentTest.php +++ b/test/Integration/ApiComponentTestCase.php @@ -3,13 +3,10 @@ namespace SupportPal\ApiClient\Tests\Integration; use SupportPal\ApiClient\Api\Api; -use SupportPal\ApiClient\Tests\ApiDataProviders; use SupportPal\ApiClient\Tests\ApiTestCase; -abstract class ApiComponentTest extends ApiTestCase +abstract class ApiComponentTestCase extends ApiTestCase { - use ApiDataProviders; - /** @var Api */ private $api; diff --git a/test/Unit/Api/Core/BaseCoreApiTest.php b/test/Unit/Api/Core/BaseCoreApiTestCaseCase.php similarity index 82% rename from test/Unit/Api/Core/BaseCoreApiTest.php rename to test/Unit/Api/Core/BaseCoreApiTestCaseCase.php index e85d7355..665870ab 100644 --- a/test/Unit/Api/Core/BaseCoreApiTest.php +++ b/test/Unit/Api/Core/BaseCoreApiTestCaseCase.php @@ -4,9 +4,9 @@ use SupportPal\ApiClient\Api\CoreApi; use SupportPal\ApiClient\Http\CoreClient; -use SupportPal\ApiClient\Tests\Unit\ApiTest; +use SupportPal\ApiClient\Tests\Unit\ApiTestCase; -class BaseCoreApiTest extends ApiTest +class BaseCoreApiTestCaseCase extends ApiTestCase { /** @var CoreApi */ protected $api; diff --git a/test/Unit/Api/Core/BrandApisTest.php b/test/Unit/Api/Core/BrandApisTest.php index ff0d0114..bfce85c6 100644 --- a/test/Unit/Api/Core/BrandApisTest.php +++ b/test/Unit/Api/Core/BrandApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Core\Brand; use SupportPal\ApiClient\Tests\DataFixtures\Core\BrandData; -class BrandApisTest extends BaseCoreApiTest +class BrandApisTest extends BaseCoreApiTestCaseCase { public function testGetBrands(): void { diff --git a/test/Unit/Api/Core/IpBanApisTest.php b/test/Unit/Api/Core/IpBanApisTest.php index 588f9b14..b5278140 100644 --- a/test/Unit/Api/Core/IpBanApisTest.php +++ b/test/Unit/Api/Core/IpBanApisTest.php @@ -9,7 +9,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\Core\Request\CreateIpBanData; use SupportPal\ApiClient\Tests\DataFixtures\Core\Request\UpdateIpBanData; -class IpBanApisTest extends BaseCoreApiTest +class IpBanApisTest extends BaseCoreApiTestCaseCase { public function testGetIpBans(): void { diff --git a/test/Unit/Api/Core/IpWhitelistApisTest.php b/test/Unit/Api/Core/IpWhitelistApisTest.php index f966de33..25856c74 100644 --- a/test/Unit/Api/Core/IpWhitelistApisTest.php +++ b/test/Unit/Api/Core/IpWhitelistApisTest.php @@ -9,7 +9,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\Core\Request\UpdateWhitelistedIpData; use SupportPal\ApiClient\Tests\DataFixtures\Core\WhitelistedIpData; -class IpWhitelistApisTest extends BaseCoreApiTest +class IpWhitelistApisTest extends BaseCoreApiTestCaseCase { public function testGetWhitelistedIps(): void { diff --git a/test/Unit/Api/Core/LanguageApisTest.php b/test/Unit/Api/Core/LanguageApisTest.php index 3339a19e..d5e14908 100644 --- a/test/Unit/Api/Core/LanguageApisTest.php +++ b/test/Unit/Api/Core/LanguageApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Core\Language; use SupportPal\ApiClient\Tests\DataFixtures\Core\LanguageData; -class LanguageApisTest extends BaseCoreApiTest +class LanguageApisTest extends BaseCoreApiTestCaseCase { public function testGetLanguages(): void { diff --git a/test/Unit/Api/Core/SettingsApisTest.php b/test/Unit/Api/Core/SettingsApisTest.php index a4a4a8fc..bc70bb43 100644 --- a/test/Unit/Api/Core/SettingsApisTest.php +++ b/test/Unit/Api/Core/SettingsApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Shared\Settings; use SupportPal\ApiClient\Tests\DataFixtures\Core\SettingsData; -class SettingsApisTest extends BaseCoreApiTest +class SettingsApisTest extends BaseCoreApiTestCaseCase { public function testGetCoreSettings(): void { diff --git a/test/Unit/Api/Core/SpamRuleApisTest.php b/test/Unit/Api/Core/SpamRuleApisTest.php index 47fde7d4..87a585d3 100644 --- a/test/Unit/Api/Core/SpamRuleApisTest.php +++ b/test/Unit/Api/Core/SpamRuleApisTest.php @@ -9,7 +9,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\Core\Request\UpdateSpamRuleData; use SupportPal\ApiClient\Tests\DataFixtures\Core\SpamRuleData; -class SpamRuleApisTest extends BaseCoreApiTest +class SpamRuleApisTest extends BaseCoreApiTestCaseCase { public function testGetSpamRules(): void { diff --git a/test/Unit/Api/SelfService/ArticleApisTest.php b/test/Unit/Api/SelfService/ArticleApisTest.php index 0c42fad6..ea613eda 100644 --- a/test/Unit/Api/SelfService/ArticleApisTest.php +++ b/test/Unit/Api/SelfService/ArticleApisTest.php @@ -9,7 +9,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\SelfService\Request\CreateArticleData; use SupportPal\ApiClient\Tests\DataFixtures\SelfService\Request\UpdateArticleData; -class ArticleApisTest extends BaseSelfServiceApiTest +class ArticleApisTest extends BaseSelfServiceApiTestCaseCase { /** @var int */ protected $testArticleId = 1; diff --git a/test/Unit/Api/SelfService/AttachmentApisTest.php b/test/Unit/Api/SelfService/AttachmentApisTest.php index 6b5b25e5..7814ec0b 100644 --- a/test/Unit/Api/SelfService/AttachmentApisTest.php +++ b/test/Unit/Api/SelfService/AttachmentApisTest.php @@ -9,7 +9,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\SelfService\AttachmentData; use SupportPal\ApiClient\Tests\DataFixtures\SelfService\Request\CreateAttachmentData; -class AttachmentApisTest extends BaseSelfServiceApiTest +class AttachmentApisTest extends BaseSelfServiceApiTestCaseCase { public function testGetAttachments(): void { diff --git a/test/Unit/Api/SelfService/BaseSelfServiceApiTest.php b/test/Unit/Api/SelfService/BaseSelfServiceApiTestCaseCase.php similarity index 82% rename from test/Unit/Api/SelfService/BaseSelfServiceApiTest.php rename to test/Unit/Api/SelfService/BaseSelfServiceApiTestCaseCase.php index f3a35b12..13325f68 100644 --- a/test/Unit/Api/SelfService/BaseSelfServiceApiTest.php +++ b/test/Unit/Api/SelfService/BaseSelfServiceApiTestCaseCase.php @@ -4,9 +4,9 @@ use SupportPal\ApiClient\Api\SelfServiceApi; use SupportPal\ApiClient\Http\SelfServiceClient; -use SupportPal\ApiClient\Tests\Unit\ApiTest; +use SupportPal\ApiClient\Tests\Unit\ApiTestCase; -class BaseSelfServiceApiTest extends ApiTest +class BaseSelfServiceApiTestCaseCase extends ApiTestCase { /** @var SelfServiceApi */ protected $api; diff --git a/test/Unit/Api/SelfService/CategoryApisTest.php b/test/Unit/Api/SelfService/CategoryApisTest.php index 9ed31bcc..5b5c2629 100644 --- a/test/Unit/Api/SelfService/CategoryApisTest.php +++ b/test/Unit/Api/SelfService/CategoryApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\SelfService\Category; use SupportPal\ApiClient\Tests\DataFixtures\SelfService\CategoryData; -class CategoryApisTest extends BaseSelfServiceApiTest +class CategoryApisTest extends BaseSelfServiceApiTestCaseCase { public function testGetCategories(): void { diff --git a/test/Unit/Api/SelfService/CommentApisTest.php b/test/Unit/Api/SelfService/CommentApisTest.php index 175db3e0..30d41181 100644 --- a/test/Unit/Api/SelfService/CommentApisTest.php +++ b/test/Unit/Api/SelfService/CommentApisTest.php @@ -6,7 +6,7 @@ use SupportPal\ApiClient\Model\SelfService\Request\CreateComment; use SupportPal\ApiClient\Tests\DataFixtures\SelfService\CommentData; -class CommentApisTest extends BaseSelfServiceApiTest +class CommentApisTest extends BaseSelfServiceApiTestCaseCase { /** @var int */ private $testCommentId = 1; diff --git a/test/Unit/Api/SelfService/SettingsApisTest.php b/test/Unit/Api/SelfService/SettingsApisTest.php index b12e6b13..60bb41c1 100644 --- a/test/Unit/Api/SelfService/SettingsApisTest.php +++ b/test/Unit/Api/SelfService/SettingsApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Shared\Settings; use SupportPal\ApiClient\Tests\DataFixtures\SelfService\SettingsData; -class SettingsApisTest extends BaseSelfServiceApiTest +class SettingsApisTest extends BaseSelfServiceApiTestCaseCase { public function testGetSettings(): void { diff --git a/test/Unit/Api/SelfService/TagApisTest.php b/test/Unit/Api/SelfService/TagApisTest.php index a1d209a4..b622b985 100644 --- a/test/Unit/Api/SelfService/TagApisTest.php +++ b/test/Unit/Api/SelfService/TagApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\SelfService\Tag; use SupportPal\ApiClient\Tests\DataFixtures\SelfService\TagData; -class TagApisTest extends BaseSelfServiceApiTest +class TagApisTest extends BaseSelfServiceApiTestCaseCase { public function testGetTags(): void { diff --git a/test/Unit/Api/SelfService/TypeApiTest.php b/test/Unit/Api/SelfService/TypeApiTest.php index 93273fb6..abc112c5 100644 --- a/test/Unit/Api/SelfService/TypeApiTest.php +++ b/test/Unit/Api/SelfService/TypeApiTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\SelfService\Type; use SupportPal\ApiClient\Tests\DataFixtures\SelfService\TypeData; -class TypeApiTest extends BaseSelfServiceApiTest +class TypeApiTest extends BaseSelfServiceApiTestCaseCase { public function testGetTypes(): void { diff --git a/test/Unit/Api/Ticket/BaseTicketApiTest.php b/test/Unit/Api/Ticket/BaseTicketApiTestCase.php similarity index 83% rename from test/Unit/Api/Ticket/BaseTicketApiTest.php rename to test/Unit/Api/Ticket/BaseTicketApiTestCase.php index 7a27f05a..643e9981 100644 --- a/test/Unit/Api/Ticket/BaseTicketApiTest.php +++ b/test/Unit/Api/Ticket/BaseTicketApiTestCase.php @@ -4,9 +4,9 @@ use SupportPal\ApiClient\Api\TicketApi; use SupportPal\ApiClient\Http\TicketClient; -use SupportPal\ApiClient\Tests\Unit\ApiTest; +use SupportPal\ApiClient\Tests\Unit\ApiTestCase; -class BaseTicketApiTest extends ApiTest +class BaseTicketApiTestCase extends ApiTestCase { /** @var TicketApi */ protected $api; diff --git a/test/Unit/Api/Ticket/ChannelApisTest.php b/test/Unit/Api/Ticket/ChannelApisTest.php index 64ac7284..38effb06 100644 --- a/test/Unit/Api/Ticket/ChannelApisTest.php +++ b/test/Unit/Api/Ticket/ChannelApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Ticket\ChannelSettings; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\ChannelSettingsData; -class ChannelApisTest extends BaseTicketApiTest +class ChannelApisTest extends BaseTicketApiTestCase { public function testGetChannelSettings(): void { diff --git a/test/Unit/Api/Ticket/CustomFieldApisTest.php b/test/Unit/Api/Ticket/CustomFieldApisTest.php index fdc0a082..6fdaff2d 100644 --- a/test/Unit/Api/Ticket/CustomFieldApisTest.php +++ b/test/Unit/Api/Ticket/CustomFieldApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Ticket\TicketCustomField; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\TicketCustomFieldData; -class CustomFieldApisTest extends BaseTicketApiTest +class CustomFieldApisTest extends BaseTicketApiTestCase { /** @var int */ private $testId = 1; diff --git a/test/Unit/Api/Ticket/DepartmentApisTest.php b/test/Unit/Api/Ticket/DepartmentApisTest.php index 80fb986e..b6464f62 100644 --- a/test/Unit/Api/Ticket/DepartmentApisTest.php +++ b/test/Unit/Api/Ticket/DepartmentApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Ticket\Department; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\DepartmentData; -class DepartmentApisTest extends BaseTicketApiTest +class DepartmentApisTest extends BaseTicketApiTestCase { /** @var int */ private $testDepartmentId = 1; diff --git a/test/Unit/Api/Ticket/MessageApisTest.php b/test/Unit/Api/Ticket/MessageApisTest.php index d65c0d6f..c3cc2a6a 100644 --- a/test/Unit/Api/Ticket/MessageApisTest.php +++ b/test/Unit/Api/Ticket/MessageApisTest.php @@ -8,7 +8,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\Ticket\MessageData; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\Request\UpdateMessageData; -class MessageApisTest extends BaseTicketApiTest +class MessageApisTest extends BaseTicketApiTestCase { /** @var int */ private $testMessageId = 1; diff --git a/test/Unit/Api/Ticket/PriorityApisTest.php b/test/Unit/Api/Ticket/PriorityApisTest.php index b681dc7b..50c605b0 100644 --- a/test/Unit/Api/Ticket/PriorityApisTest.php +++ b/test/Unit/Api/Ticket/PriorityApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Ticket\Priority; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\PriorityData; -class PriorityApisTest extends BaseTicketApiTest +class PriorityApisTest extends BaseTicketApiTestCase { public function testGetPriorities(): void { diff --git a/test/Unit/Api/Ticket/StatusApisTest.php b/test/Unit/Api/Ticket/StatusApisTest.php index 2b54a81f..ec552e0d 100644 --- a/test/Unit/Api/Ticket/StatusApisTest.php +++ b/test/Unit/Api/Ticket/StatusApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Ticket\Status; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\StatusData; -class StatusApisTest extends BaseTicketApiTest +class StatusApisTest extends BaseTicketApiTestCase { public function testGetStatuses(): void { diff --git a/test/Unit/Api/Ticket/TicketApisTest.php b/test/Unit/Api/Ticket/TicketApisTest.php index 6bffa0fe..8a5cd611 100644 --- a/test/Unit/Api/Ticket/TicketApisTest.php +++ b/test/Unit/Api/Ticket/TicketApisTest.php @@ -9,7 +9,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\Ticket\Request\UpdateTicketData; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\TicketData; -class TicketApisTest extends BaseTicketApiTest +class TicketApisTest extends BaseTicketApiTestCase { public function testGetTickets(): void { diff --git a/test/Unit/Api/Ticket/TicketSettingsApisTest.php b/test/Unit/Api/Ticket/TicketSettingsApisTest.php index a2e8a8ea..ebb42a52 100644 --- a/test/Unit/Api/Ticket/TicketSettingsApisTest.php +++ b/test/Unit/Api/Ticket/TicketSettingsApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Shared\Settings; use SupportPal\ApiClient\Tests\DataFixtures\Ticket\SettingsData; -class TicketSettingsApisTest extends BaseTicketApiTest +class TicketSettingsApisTest extends BaseTicketApiTestCase { public function testGetTicketsSettings(): void { diff --git a/test/Unit/Api/User/BaseUserApiTest.php b/test/Unit/Api/User/BaseUserApiTestCase.php similarity index 83% rename from test/Unit/Api/User/BaseUserApiTest.php rename to test/Unit/Api/User/BaseUserApiTestCase.php index 2d6a506c..ce189221 100644 --- a/test/Unit/Api/User/BaseUserApiTest.php +++ b/test/Unit/Api/User/BaseUserApiTestCase.php @@ -4,9 +4,9 @@ use SupportPal\ApiClient\Api\UserApi; use SupportPal\ApiClient\Http\UserClient; -use SupportPal\ApiClient\Tests\Unit\ApiTest; +use SupportPal\ApiClient\Tests\Unit\ApiTestCase; -class BaseUserApiTest extends ApiTest +class BaseUserApiTestCase extends ApiTestCase { /** @var UserApi */ protected $api; diff --git a/test/Unit/Api/User/OperatorApisTest.php b/test/Unit/Api/User/OperatorApisTest.php index 06e2a8a5..928459ab 100644 --- a/test/Unit/Api/User/OperatorApisTest.php +++ b/test/Unit/Api/User/OperatorApisTest.php @@ -9,7 +9,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\User\Request\CreateOperatorData; use SupportPal\ApiClient\Tests\DataFixtures\User\Request\UpdateOperatorData; -class OperatorApisTest extends BaseUserApiTest +class OperatorApisTest extends BaseUserApiTestCase { public function testGetOperators(): void { diff --git a/test/Unit/Api/User/OperatorGroupApisTest.php b/test/Unit/Api/User/OperatorGroupApisTest.php index bb6c0f2b..286a0877 100644 --- a/test/Unit/Api/User/OperatorGroupApisTest.php +++ b/test/Unit/Api/User/OperatorGroupApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\User\Group; use SupportPal\ApiClient\Tests\DataFixtures\User\GroupData; -class OperatorGroupApisTest extends BaseUserApiTest +class OperatorGroupApisTest extends BaseUserApiTestCase { public function testGetOperatorGroups(): void { diff --git a/test/Unit/Api/User/OrganisationApisTest.php b/test/Unit/Api/User/OrganisationApisTest.php index bc1726f9..d3dd1f81 100644 --- a/test/Unit/Api/User/OrganisationApisTest.php +++ b/test/Unit/Api/User/OrganisationApisTest.php @@ -9,7 +9,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\User\Request\CreateOrganisationData; use SupportPal\ApiClient\Tests\DataFixtures\User\Request\UpdateOrganisationData; -class OrganisationApisTest extends BaseUserApiTest +class OrganisationApisTest extends BaseUserApiTestCase { public function testGetOrganisations(): void { diff --git a/test/Unit/Api/User/OrganisationCustomFieldApisTest.php b/test/Unit/Api/User/OrganisationCustomFieldApisTest.php index 81711aae..c361a34b 100644 --- a/test/Unit/Api/User/OrganisationCustomFieldApisTest.php +++ b/test/Unit/Api/User/OrganisationCustomFieldApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\User\OrganisationCustomField; use SupportPal\ApiClient\Tests\DataFixtures\User\OrganisationCustomFieldData; -class OrganisationCustomFieldApisTest extends BaseUserApiTest +class OrganisationCustomFieldApisTest extends BaseUserApiTestCase { public function testGetOrganisationCustomFields(): void { diff --git a/test/Unit/Api/User/SettingsApisTest.php b/test/Unit/Api/User/SettingsApisTest.php index 10d87063..c856fe6e 100644 --- a/test/Unit/Api/User/SettingsApisTest.php +++ b/test/Unit/Api/User/SettingsApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\Shared\Settings; use SupportPal\ApiClient\Tests\DataFixtures\User\SettingsData; -class SettingsApisTest extends BaseUserApiTest +class SettingsApisTest extends BaseUserApiTestCase { public function testGetCoreSettings(): void { diff --git a/test/Unit/Api/User/UserApisTest.php b/test/Unit/Api/User/UserApisTest.php index 054e8a51..6e3481fe 100644 --- a/test/Unit/Api/User/UserApisTest.php +++ b/test/Unit/Api/User/UserApisTest.php @@ -9,7 +9,7 @@ use SupportPal\ApiClient\Tests\DataFixtures\User\Request\UpdateUserData; use SupportPal\ApiClient\Tests\DataFixtures\User\UserData; -class UserApisTest extends BaseUserApiTest +class UserApisTest extends BaseUserApiTestCase { public function testGetUsers(): void { diff --git a/test/Unit/Api/User/UserCustomFieldApisTest.php b/test/Unit/Api/User/UserCustomFieldApisTest.php index 32d8885f..d38961b6 100644 --- a/test/Unit/Api/User/UserCustomFieldApisTest.php +++ b/test/Unit/Api/User/UserCustomFieldApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\User\UserCustomField; use SupportPal\ApiClient\Tests\DataFixtures\User\UserCustomFieldData; -class UserCustomFieldApisTest extends BaseUserApiTest +class UserCustomFieldApisTest extends BaseUserApiTestCase { public function testGetUserCustomFields(): void { diff --git a/test/Unit/Api/User/UserGroupApisTest.php b/test/Unit/Api/User/UserGroupApisTest.php index 94d0d921..52788aed 100644 --- a/test/Unit/Api/User/UserGroupApisTest.php +++ b/test/Unit/Api/User/UserGroupApisTest.php @@ -5,7 +5,7 @@ use SupportPal\ApiClient\Model\User\Group; use SupportPal\ApiClient\Tests\DataFixtures\User\GroupData; -class UserGroupApisTest extends BaseUserApiTest +class UserGroupApisTest extends BaseUserApiTestCase { public function testGetUserGroups(): void { diff --git a/test/Unit/ApiClient/Core/BrandApisTest.php b/test/Unit/ApiClient/Core/BrandApisTest.php index f860150b..480b4a69 100644 --- a/test/Unit/ApiClient/Core/BrandApisTest.php +++ b/test/Unit/ApiClient/Core/BrandApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Core; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\CoreClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetBrands(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetBrands(int $statusCode, string $responseBody): void { $queryParams = ['test' => 'value']; @@ -89,8 +90,8 @@ public function testHttpExceptionGetBrand(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetBrand(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Core/SettingsApisTest.php b/test/Unit/ApiClient/Core/SettingsApisTest.php index 3f759f85..33b32f36 100644 --- a/test/Unit/ApiClient/Core/SettingsApisTest.php +++ b/test/Unit/ApiClient/Core/SettingsApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Core; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\CoreClient; @@ -31,8 +32,8 @@ public function testSuccessfulGetCoreSettings(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetCoreSettings(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/SelfService/ArticleApisTest.php b/test/Unit/ApiClient/SelfService/ArticleApisTest.php index 2cc6db6b..4d5acb21 100644 --- a/test/Unit/ApiClient/SelfService/ArticleApisTest.php +++ b/test/Unit/ApiClient/SelfService/ArticleApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\SelfService; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\SelfServiceClient; @@ -45,8 +46,8 @@ public function testHttpExceptionGetArticlesByTerm(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetArticlesByTerm(int $statusCode, string $responseBody): void { $queryParams = ['test' => 'value']; @@ -91,8 +92,8 @@ public function testHttpExceptionGetArticle(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetArticle(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -131,8 +132,8 @@ public function testHttpExceptionGetArticles(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetArticles(int $statusCode, string $responseBody): void { $queryParams = []; @@ -177,8 +178,8 @@ public function testHttpExceptionGetRelatedArticles(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetRelatedArticles(int $statusCode, string $responseBody): void { $queryParams = []; @@ -210,8 +211,8 @@ public function testPostArticle(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testPostUnsuccessfulArticle(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -265,8 +266,8 @@ public function testHttpExceptionUpdateArticle(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulUpdateArticle(int $statusCode, string $responseBody): void { $articleData = new ArticleData; @@ -304,9 +305,8 @@ public function testHttpExceptionDeleteArticle(): void $this->apiClient->deleteArticle($this->testArticleId); } - /** - * @dataProvider provideUnsuccessfulTestCases - */ + /** */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulDeleteArticle(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/SelfService/CategoryApisTest.php b/test/Unit/ApiClient/SelfService/CategoryApisTest.php index 198875f4..b31ef869 100644 --- a/test/Unit/ApiClient/SelfService/CategoryApisTest.php +++ b/test/Unit/ApiClient/SelfService/CategoryApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\SelfService; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\SelfServiceClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetCategories(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetCategories(int $statusCode, string $responseBody): void { $queryParams = ['test' => 'value']; @@ -89,8 +90,8 @@ public function testHttpExceptionGetCategory(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetCategory(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/SelfService/CommentApisTest.php b/test/Unit/ApiClient/SelfService/CommentApisTest.php index 7b829a6f..02176073 100644 --- a/test/Unit/ApiClient/SelfService/CommentApisTest.php +++ b/test/Unit/ApiClient/SelfService/CommentApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\SelfService; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\SelfServiceClient; @@ -34,8 +35,8 @@ public function testPostSelfServiceComment(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulPostSelfServiceComment(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -77,8 +78,8 @@ public function testHttpExceptionGetComments(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetComments(int $statusCode, string $responseBody): void { $queryParams = ['test' => 'value']; @@ -123,8 +124,8 @@ public function testHttpExceptionGetComment(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetComment(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/SelfService/SettingsApisTest.php b/test/Unit/ApiClient/SelfService/SettingsApisTest.php index 38f60f94..a48dfe97 100644 --- a/test/Unit/ApiClient/SelfService/SettingsApisTest.php +++ b/test/Unit/ApiClient/SelfService/SettingsApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\SelfService; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\SelfServiceClient; @@ -39,8 +40,8 @@ public function testHttpExceptionGetSettings(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetSettings(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/SelfService/TagApisTest.php b/test/Unit/ApiClient/SelfService/TagApisTest.php index 8f064c72..2cd91df7 100644 --- a/test/Unit/ApiClient/SelfService/TagApisTest.php +++ b/test/Unit/ApiClient/SelfService/TagApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\SelfService; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\SelfServiceClient; @@ -53,8 +54,8 @@ public function testHttpExceptionGetTag(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetTag(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -93,8 +94,8 @@ public function testHttpExceptionGetTags(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetTags(int $statusCode, string $responseBody): void { $queryParams = []; diff --git a/test/Unit/ApiClient/SelfService/TypeApisTest.php b/test/Unit/ApiClient/SelfService/TypeApisTest.php index e695e6e6..20688b67 100644 --- a/test/Unit/ApiClient/SelfService/TypeApisTest.php +++ b/test/Unit/ApiClient/SelfService/TypeApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\SelfService; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\SelfServiceClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetTypes(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetTypes(int $statusCode, string $responseBody): void { $queryParams = ['test' => 'value']; @@ -89,8 +90,8 @@ public function testHttpExceptionGetType(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetType(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Ticket/AttachmentApisTest.php b/test/Unit/ApiClient/Ticket/AttachmentApisTest.php index e92736b8..61f72c97 100644 --- a/test/Unit/ApiClient/Ticket/AttachmentApisTest.php +++ b/test/Unit/ApiClient/Ticket/AttachmentApisTest.php @@ -3,6 +3,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Ticket; use GuzzleHttp\Psr7\Request; +use PHPUnit\Framework\Attributes\DataProvider; use Psr\Http\Message\ResponseInterface; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; @@ -46,8 +47,8 @@ public function testHttpExceptionGetAttachments(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetAttachments(int $statusCode, string $responseBody): void { $queryParams = []; @@ -92,8 +93,8 @@ public function testHttpExceptionGetAttachment(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetAttachment(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Ticket/ChannelSettingsApisTest.php b/test/Unit/ApiClient/Ticket/ChannelSettingsApisTest.php index 46ad13ed..fb22a170 100644 --- a/test/Unit/ApiClient/Ticket/ChannelSettingsApisTest.php +++ b/test/Unit/ApiClient/Ticket/ChannelSettingsApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Ticket; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\TicketClient; @@ -40,8 +41,8 @@ public function testSuccessfulGetChannelSettings(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetChannelSettings(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Ticket/CustomFieldApisTest.php b/test/Unit/ApiClient/Ticket/CustomFieldApisTest.php index ffc90cf3..2f732145 100644 --- a/test/Unit/ApiClient/Ticket/CustomFieldApisTest.php +++ b/test/Unit/ApiClient/Ticket/CustomFieldApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Ticket; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\TicketClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetTicketCustomFields(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetTicketCustomFields(int $statusCode, string $responseBody): void { $queryParams = []; @@ -89,8 +90,8 @@ public function testHttpExceptionGetCustomField(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetCustomField(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Ticket/DepartmentApisTest.php b/test/Unit/ApiClient/Ticket/DepartmentApisTest.php index 458d33a2..733a1618 100644 --- a/test/Unit/ApiClient/Ticket/DepartmentApisTest.php +++ b/test/Unit/ApiClient/Ticket/DepartmentApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Ticket; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\TicketClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetDepartments(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetDepartments(int $statusCode, string $responseBody): void { $queryParams = []; @@ -89,8 +90,8 @@ public function testHttpExceptionGetDepartment(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetDepartment(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Ticket/MessageApisTest.php b/test/Unit/ApiClient/Ticket/MessageApisTest.php index 33e3940f..743f5e49 100644 --- a/test/Unit/ApiClient/Ticket/MessageApisTest.php +++ b/test/Unit/ApiClient/Ticket/MessageApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Ticket; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\TicketClient; @@ -47,8 +48,8 @@ public function testHttpExceptionGetMessages(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetMessages(int $statusCode, string $responseBody): void { $queryParams = ['ticket_id' => $this->testTicketId]; @@ -83,8 +84,8 @@ public function testHttpExceptionGetMessage(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetMessage(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -110,8 +111,8 @@ public function testPostMessage(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulPostMessage(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -165,8 +166,8 @@ public function testHttpExceptionUpdateMessage(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulUpdateMessage(int $statusCode, string $responseBody): void { $messageData = new MessageData; @@ -204,9 +205,8 @@ public function testHttpExceptionDeleteMessage(): void $this->apiClient->deleteMessage($this->testMessageId); } - /** - * @dataProvider provideUnsuccessfulTestCases - */ + /** */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulDeleteMessage(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Ticket/PriorityApisTest.php b/test/Unit/ApiClient/Ticket/PriorityApisTest.php index 4dc88f84..124abf34 100644 --- a/test/Unit/ApiClient/Ticket/PriorityApisTest.php +++ b/test/Unit/ApiClient/Ticket/PriorityApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Ticket; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\TicketClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetPriorities(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetPriorities(int $statusCode, string $responseBody): void { $queryParams = []; @@ -89,8 +90,8 @@ public function testHttpExceptionGetPriority(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetPriority(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Ticket/SettingsApisTest.php b/test/Unit/ApiClient/Ticket/SettingsApisTest.php index eb5218e4..17391226 100644 --- a/test/Unit/ApiClient/Ticket/SettingsApisTest.php +++ b/test/Unit/ApiClient/Ticket/SettingsApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Ticket; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\TicketClient; @@ -31,8 +32,8 @@ public function testSuccessfulGetTicketSettings(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetTicketSettings(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Ticket/StatusApisTest.php b/test/Unit/ApiClient/Ticket/StatusApisTest.php index 62199c92..c3649369 100644 --- a/test/Unit/ApiClient/Ticket/StatusApisTest.php +++ b/test/Unit/ApiClient/Ticket/StatusApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Ticket; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\TicketClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetStatuses(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetStatuses(int $statusCode, string $responseBody): void { $queryParams = []; @@ -89,8 +90,8 @@ public function testHttpExceptionGetStatus(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetStatus(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/Ticket/TicketApisTest.php b/test/Unit/ApiClient/Ticket/TicketApisTest.php index 881fba9f..3c5d0a85 100644 --- a/test/Unit/ApiClient/Ticket/TicketApisTest.php +++ b/test/Unit/ApiClient/Ticket/TicketApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\Ticket; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\TicketClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetTickets(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetTickets(int $statusCode, string $responseBody): void { $queryParams = []; @@ -89,8 +90,8 @@ public function testHttpExceptionGetTicket(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetTicket(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -121,8 +122,8 @@ public function testPostTicket(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testPostUnsuccessfulTicket(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -178,8 +179,8 @@ public function testHttpExceptionUpdateTicket(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulUpdateTicket(int $statusCode, string $responseBody): void { $ticketData = new TicketData; @@ -217,9 +218,8 @@ public function testHttpExceptionDeleteTicket(): void $this->apiClient->deleteTicket($this->testTicketId); } - /** - * @dataProvider provideUnsuccessfulTestCases - */ + /** */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulDeleteTicket(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/User/OperatorApisTest.php b/test/Unit/ApiClient/User/OperatorApisTest.php index 50073e93..516f04f5 100644 --- a/test/Unit/ApiClient/User/OperatorApisTest.php +++ b/test/Unit/ApiClient/User/OperatorApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\User; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\UserClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetOperators(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetOperators(int $statusCode, string $responseBody): void { $queryParams = ['test' => 'value']; @@ -89,8 +90,8 @@ public function testHttpExceptionGetOperator(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetOperator(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -121,8 +122,8 @@ public function testPostOperator(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testPostUnsuccessfulOperator(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -176,8 +177,8 @@ public function testHttpExceptionUpdateOperator(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulUpdateOperator(int $statusCode, string $responseBody): void { $userData = new OperatorData; diff --git a/test/Unit/ApiClient/User/OperatorGroupApisTest.php b/test/Unit/ApiClient/User/OperatorGroupApisTest.php index d91441b8..f4ce6491 100644 --- a/test/Unit/ApiClient/User/OperatorGroupApisTest.php +++ b/test/Unit/ApiClient/User/OperatorGroupApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\User; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\UserClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetOperatorGroups(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetOperatorGroups(int $statusCode, string $responseBody): void { $queryParams = []; @@ -89,8 +90,8 @@ public function testHttpExceptionGetOperatorGroup(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetOperatorGroup(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/User/OrganisationApisTest.php b/test/Unit/ApiClient/User/OrganisationApisTest.php index c0f36436..2d1ce1ee 100644 --- a/test/Unit/ApiClient/User/OrganisationApisTest.php +++ b/test/Unit/ApiClient/User/OrganisationApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\User; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\UserClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetOrganisations(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetOrganisations(int $statusCode, string $responseBody): void { $queryParams = ['test' => 'value']; @@ -89,8 +90,8 @@ public function testHttpExceptionGetOrganisation(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetOrganisation(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -121,8 +122,8 @@ public function testPostOrganisation(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testPostUnsuccessfulOrganisation(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -176,8 +177,8 @@ public function testHttpExceptionUpdateOrganisation(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulUpdateOrganisation(int $statusCode, string $responseBody): void { $userData = new OrganisationData; diff --git a/test/Unit/ApiClient/User/OrganisationCustomFieldApisTest.php b/test/Unit/ApiClient/User/OrganisationCustomFieldApisTest.php index eb28e6aa..0aa2d17d 100644 --- a/test/Unit/ApiClient/User/OrganisationCustomFieldApisTest.php +++ b/test/Unit/ApiClient/User/OrganisationCustomFieldApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\User; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\UserClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetOrganisationCustomFields(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetOrganisationCustomFields(int $statusCode, string $responseBody): void { $queryParams = []; @@ -87,8 +88,8 @@ public function testHttpExceptionGetOrganisationCustomField(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetOrganisationCustomField(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/User/SettingsApisTest.php b/test/Unit/ApiClient/User/SettingsApisTest.php index 4b8017cb..3b123f5e 100644 --- a/test/Unit/ApiClient/User/SettingsApisTest.php +++ b/test/Unit/ApiClient/User/SettingsApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\User; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\UserClient; @@ -31,8 +32,8 @@ public function testSuccessfulGetCoreSettings(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetCoreSettings(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/User/UserApisTest.php b/test/Unit/ApiClient/User/UserApisTest.php index da2540da..1c606882 100644 --- a/test/Unit/ApiClient/User/UserApisTest.php +++ b/test/Unit/ApiClient/User/UserApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\User; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\UserClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetUsers(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetUsers(int $statusCode, string $responseBody): void { $queryParams = ['test' => 'value']; @@ -89,8 +90,8 @@ public function testHttpExceptionGetUser(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetUser(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -121,8 +122,8 @@ public function testPostUser(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testPostUnsuccessfulUser(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); @@ -176,8 +177,8 @@ public function testHttpExceptionUpdateUser(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulUpdateUser(int $statusCode, string $responseBody): void { $userData = new UserData; @@ -215,9 +216,8 @@ public function testHttpExceptionDeleteUser(): void $this->apiClient->deleteUser($this->testUserId); } - /** - * @dataProvider provideUnsuccessfulTestCases - */ + /** */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulDeleteUser(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/User/UserCustomFieldApisTest.php b/test/Unit/ApiClient/User/UserCustomFieldApisTest.php index a7d2b572..11f595ce 100644 --- a/test/Unit/ApiClient/User/UserCustomFieldApisTest.php +++ b/test/Unit/ApiClient/User/UserCustomFieldApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\User; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\UserClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetUserCustomFields(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetUserCustomFields(int $statusCode, string $responseBody): void { $queryParams = []; @@ -89,8 +90,8 @@ public function testHttpExceptionGetUserCustomField(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetUserCustomField(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClient/User/UserGroupApisTest.php b/test/Unit/ApiClient/User/UserGroupApisTest.php index 79b2fedd..98689a84 100644 --- a/test/Unit/ApiClient/User/UserGroupApisTest.php +++ b/test/Unit/ApiClient/User/UserGroupApisTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\ApiClient\User; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Dictionary\ApiDictionary; use SupportPal\ApiClient\Exception\HttpResponseException; use SupportPal\ApiClient\Http\UserClient; @@ -43,8 +44,8 @@ public function testHttpExceptionGetUserGroups(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetUserGroups(int $statusCode, string $responseBody): void { $queryParams = []; @@ -89,8 +90,8 @@ public function testHttpExceptionGetUserGroup(): void /** * @param int $statusCode * @param string $responseBody - * @dataProvider provideUnsuccessfulTestCases */ + #[DataProvider('provideUnsuccessfulTestCases')] public function testUnsuccessfulGetUserGroup(int $statusCode, string $responseBody): void { self::expectException(HttpResponseException::class); diff --git a/test/Unit/ApiClientTest.php b/test/Unit/ApiClientTest.php index 9a5f379d..3810559f 100644 --- a/test/Unit/ApiClientTest.php +++ b/test/Unit/ApiClientTest.php @@ -103,22 +103,30 @@ public function testResponseNonEncodeableException(): void /** * @return iterable */ - public function provideUnsuccessfulTestCases(): iterable + public static function provideUnsuccessfulTestCases(): iterable { - $jsonErrorBody = $this->genericErrorResponse; + $genericErrorResponse = [ + 'status' => 'error', + 'message' => null, + 'data' => [] + ]; + + $jsonErrorBody = $genericErrorResponse; $jsonErrorBody['status'] = 'success'; $jsonSuccessfulBody = json_encode($jsonErrorBody) ?: throw new JsonException('Failed to encode JSON data.'); - yield ['error 400 response' => 400, $jsonSuccessfulBody]; - yield ['error 401 response' => 401, $jsonSuccessfulBody]; - yield ['error 403 response' => 403, $jsonSuccessfulBody]; - yield ['error 404 response' => 404, $jsonSuccessfulBody]; + yield 'error 400 response' => [400, $jsonSuccessfulBody]; + yield 'error 401 response' => [401, $jsonSuccessfulBody]; + yield 'error 403 response' => [403, $jsonSuccessfulBody]; + yield 'error 404 response' => [404, $jsonSuccessfulBody]; - $jsonErrorBody = json_encode($this->genericErrorResponse) ?: throw new JsonException('Failed to encode JSON data.'); + $jsonErrorBody = json_encode([ + 'status' => 'error', + 'message' => null, + 'data' => [] + ]) ?: throw new JsonException('Failed to encode JSON data.'); - yield [ - 'error status response' => 200, $jsonErrorBody, - ]; + yield 'error status response' => [200, $jsonErrorBody]; } /** diff --git a/test/Unit/ApiTest.php b/test/Unit/ApiTestCase.php similarity index 98% rename from test/Unit/ApiTest.php rename to test/Unit/ApiTestCase.php index 7509c995..78b3d9b6 100644 --- a/test/Unit/ApiTest.php +++ b/test/Unit/ApiTestCase.php @@ -14,7 +14,7 @@ use function is_array; use function json_encode; -abstract class ApiTest extends TestCase +abstract class ApiTestCase extends TestCase { protected const TEST_ID = 1; diff --git a/test/Unit/Cache/CacheableRequestMatcherTest.php b/test/Unit/Cache/CacheableRequestMatcherTest.php index 1d7e239d..9c25511c 100644 --- a/test/Unit/Cache/CacheableRequestMatcherTest.php +++ b/test/Unit/Cache/CacheableRequestMatcherTest.php @@ -4,6 +4,7 @@ use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\Uri; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Prophecy\PhpUnit\ProphecyTrait; use SupportPal\ApiClient\Cache\CacheableRequestMatcher; @@ -24,18 +25,14 @@ protected function setUp(): void ]); } - /** - * @dataProvider provideCachableCases - */ + #[DataProvider('provideCachableCases')] public function testCachableRequest(string $path, string $method): void { $matches = $this->cacheableRequestMatcher->matches(new Request($method, new Uri($path))); self::assertTrue($matches); } - /** - * @dataProvider provideNonCachableCases - */ + #[DataProvider('provideNonCachableCases')] public function testNotCachableRequest(string $path, string $method): void { $matches = $this->cacheableRequestMatcher->matches(new Request($method, new Uri($path))); @@ -45,7 +42,7 @@ public function testNotCachableRequest(string $path, string $method): void /** * @return iterable> */ - public function provideCachableCases(): iterable + public static function provideCachableCases(): iterable { yield [ApiDictionary::CORE_SETTINGS, 'GET']; } @@ -53,7 +50,7 @@ public function provideCachableCases(): iterable /** * @return iterable> */ - public function provideNonCachableCases(): iterable + public static function provideNonCachableCases(): iterable { yield [ApiDictionary::SELF_SERVICE_COMMENT, 'GET']; yield [ApiDictionary::SELF_SERVICE_COMMENT, 'POST']; diff --git a/test/Unit/Config/ApiContextTest.php b/test/Unit/Config/ApiContextTest.php index 06c7ac59..4c9c6360 100644 --- a/test/Unit/Config/ApiContextTest.php +++ b/test/Unit/Config/ApiContextTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\Config; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Prophecy\PhpUnit\ProphecyTrait; use SupportPal\ApiClient\Config\ApiContext; @@ -32,8 +33,8 @@ public function testToken(): void /** * @param ApiContext $apiContext * @param string $expected - * @dataProvider provideGetApiUrlCases */ + #[DataProvider('provideGetApiUrlCases')] public function testGetApiUrl(ApiContext $apiContext, string $expected): void { self::assertSame($expected, $apiContext->getApiUrl()); @@ -42,8 +43,8 @@ public function testGetApiUrl(ApiContext $apiContext, string $expected): void /** * @param ApiContext $apiContext * @param string $expected - * @dataProvider provideGetApiPathCases */ + #[DataProvider('provideGetApiPathCases')] public function testGetApiPath(ApiContext $apiContext, string $expected): void { self::assertSame($expected, $apiContext->getApiPath()); @@ -69,8 +70,8 @@ public function testEnableSsl(): void * @param string $url * @param string $expected * @throws InvalidArgumentException - * @dataProvider provideCreateFromUrlCases */ + #[DataProvider('provideCreateFromUrlCases')] public function testCreateFromUrl(string $url, string $expected): void { $apiContext = ApiContext::createFromUrl($url, self::TOKEN); @@ -80,7 +81,7 @@ public function testCreateFromUrl(string $url, string $expected): void /** * @return iterable> */ - public function provideGetApiUrlCases(): iterable + public static function provideGetApiUrlCases(): iterable { $apiContext = (new ApiContext(self::HOST, self::TOKEN))->enableSsl()->setPath('/test/'); @@ -110,7 +111,7 @@ public function provideGetApiUrlCases(): iterable /** * @return iterable> */ - public function provideGetApiPathCases(): iterable + public static function provideGetApiPathCases(): iterable { $apiContext = (new ApiContext(self::HOST, self::TOKEN))->setPath('/test/'); @@ -128,7 +129,7 @@ public function provideGetApiPathCases(): iterable /** * @return iterable> */ - public function provideCreateFromUrlCases(): iterable + public static function provideCreateFromUrlCases(): iterable { yield ['http://localhost/test/test/', 'http://localhost:80/test/test/api/']; yield ['http://localhost/test/test/api/', 'http://localhost:80/test/test/api/api/']; diff --git a/test/Unit/Model/BaseModelTest.php b/test/Unit/Model/BaseModelTestCase.php similarity index 89% rename from test/Unit/Model/BaseModelTest.php rename to test/Unit/Model/BaseModelTestCase.php index 2bb3c78a..75417fd7 100644 --- a/test/Unit/Model/BaseModelTest.php +++ b/test/Unit/Model/BaseModelTestCase.php @@ -8,7 +8,7 @@ /** * @template T of Model */ -abstract class BaseModelTest extends TestCase +abstract class BaseModelTestCase extends TestCase { /** @var class-string */ protected string $modelClass; diff --git a/test/Unit/Model/CollectionTest.php b/test/Unit/Model/CollectionTest.php index b7d89fda..f5b9cccb 100644 --- a/test/Unit/Model/CollectionTest.php +++ b/test/Unit/Model/CollectionTest.php @@ -2,6 +2,7 @@ namespace SupportPal\ApiClient\Tests\Unit\Model; +use PHPUnit\Framework\Attributes\DataProvider; use SupportPal\ApiClient\Exception\InvalidArgumentException; use SupportPal\ApiClient\Model\Collection; use SupportPal\ApiClient\Model\Model; @@ -65,7 +66,7 @@ public function testCollectionMap(): void public function testCollectionFilter(): void { - $models = $this->getModelsTestData(); + $models = self::getModelsTestData(); $count = count($models); $collection = new Collection($count, $models); @@ -99,8 +100,8 @@ public function testCollectionFirst(): void /** * @param Collection $collection * @param bool $actualIsEmpty - * @dataProvider provideIsEmptyCases */ + #[DataProvider('provideIsEmptyCases')] public function testCollectionIsEmpty(Collection $collection, bool $actualIsEmpty): void { self::assertSame($collection->isEmpty(), $actualIsEmpty); @@ -110,9 +111,9 @@ public function testCollectionIsEmpty(Collection $collection, bool $actualIsEmpt * @return iterable * @throws InvalidArgumentException */ - public function provideIsEmptyCases(): iterable + public static function provideIsEmptyCases(): iterable { - $models = $this->getModelsTestData(); + $models = self::getModelsTestData(); yield [new Collection(0, []), true]; yield [ new Collection(15, []), true]; @@ -124,7 +125,7 @@ public function provideIsEmptyCases(): iterable * @return Model[] * @throws InvalidArgumentException */ - private function getModelsTestData(): array + private static function getModelsTestData(): array { return array_map(function () { return (new CommentData)->getFilledInstance(); diff --git a/test/Unit/Model/Ticket/Request/CreateMessageTest.php b/test/Unit/Model/Ticket/Request/CreateMessageTest.php index 79a92a69..d5206509 100644 --- a/test/Unit/Model/Ticket/Request/CreateMessageTest.php +++ b/test/Unit/Model/Ticket/Request/CreateMessageTest.php @@ -3,12 +3,12 @@ namespace SupportPal\ApiClient\Tests\Unit\Model\Ticket\Request; use SupportPal\ApiClient\Model\Ticket\Request\CreateMessage; -use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTest; +use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTestCase; /** - * @extends BaseModelTest + * @extends BaseModelTestCase */ -class CreateMessageTest extends BaseModelTest +class CreateMessageTest extends BaseModelTestCase { protected string $modelClass = CreateMessage::class; diff --git a/test/Unit/Model/Ticket/Request/CreateTicketTest.php b/test/Unit/Model/Ticket/Request/CreateTicketTest.php index a13b65a2..58dfa92b 100644 --- a/test/Unit/Model/Ticket/Request/CreateTicketTest.php +++ b/test/Unit/Model/Ticket/Request/CreateTicketTest.php @@ -3,12 +3,12 @@ namespace SupportPal\ApiClient\Tests\Unit\Model\Ticket\Request; use SupportPal\ApiClient\Model\Ticket\Request\CreateTicket; -use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTest; +use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTestCase; /** - * @extends BaseModelTest + * @extends BaseModelTestCase */ -class CreateTicketTest extends BaseModelTest +class CreateTicketTest extends BaseModelTestCase { protected string $modelClass = CreateTicket::class; diff --git a/test/Unit/Model/Ticket/Request/UpdateTicketTest.php b/test/Unit/Model/Ticket/Request/UpdateTicketTest.php index 0ae4cd6a..13b13e89 100644 --- a/test/Unit/Model/Ticket/Request/UpdateTicketTest.php +++ b/test/Unit/Model/Ticket/Request/UpdateTicketTest.php @@ -3,12 +3,12 @@ namespace SupportPal\ApiClient\Tests\Unit\Model\Ticket\Request; use SupportPal\ApiClient\Model\Ticket\Request\UpdateTicket; -use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTest; +use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTestCase; /** - * @extends BaseModelTest + * @extends BaseModelTestCase */ -class UpdateTicketTest extends BaseModelTest +class UpdateTicketTest extends BaseModelTestCase { protected string $modelClass = UpdateTicket::class; diff --git a/test/Unit/Model/User/Request/CreateOperatorTest.php b/test/Unit/Model/User/Request/CreateOperatorTest.php index 180de018..e8fc5e09 100644 --- a/test/Unit/Model/User/Request/CreateOperatorTest.php +++ b/test/Unit/Model/User/Request/CreateOperatorTest.php @@ -3,12 +3,12 @@ namespace SupportPal\ApiClient\Tests\Unit\Model\User\Request; use SupportPal\ApiClient\Model\User\Request\CreateOperator; -use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTest; +use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTestCase; /** - * @extends BaseModelTest + * @extends BaseModelTestCase */ -class CreateOperatorTest extends BaseModelTest +class CreateOperatorTest extends BaseModelTestCase { protected string $modelClass = CreateOperator::class; diff --git a/test/Unit/Model/User/Request/CreateOrganisationTest.php b/test/Unit/Model/User/Request/CreateOrganisationTest.php index 661b5208..95b4cc79 100644 --- a/test/Unit/Model/User/Request/CreateOrganisationTest.php +++ b/test/Unit/Model/User/Request/CreateOrganisationTest.php @@ -3,12 +3,12 @@ namespace SupportPal\ApiClient\Tests\Unit\Model\User\Request; use SupportPal\ApiClient\Model\User\Request\CreateOrganisation; -use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTest; +use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTestCase; /** - * @extends BaseModelTest + * @extends BaseModelTestCase */ -class CreateOrganisationTest extends BaseModelTest +class CreateOrganisationTest extends BaseModelTestCase { protected string $modelClass = CreateOrganisation::class; diff --git a/test/Unit/Model/User/Request/CreateUserTest.php b/test/Unit/Model/User/Request/CreateUserTest.php index fff405e2..d6b5908f 100644 --- a/test/Unit/Model/User/Request/CreateUserTest.php +++ b/test/Unit/Model/User/Request/CreateUserTest.php @@ -4,12 +4,12 @@ use libphonenumber\NumberParseException; use SupportPal\ApiClient\Model\User\Request\CreateUser; -use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTest; +use SupportPal\ApiClient\Tests\Unit\Model\BaseModelTestCase; /** - * @extends BaseModelTest + * @extends BaseModelTestCase */ -class CreateUserTest extends BaseModelTest +class CreateUserTest extends BaseModelTestCase { protected string $modelClass = CreateUser::class;