From fe9079a5822f94862306e529316d6af51b5fbb60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Andr=C3=A9?= <smn.andre@gmail.com> Date: Tue, 28 May 2024 23:10:20 +0200 Subject: [PATCH] Clean tests --- README.md | 1 + phpunit.dist.xml | 3 +- src/PageSpeedApi.php | 4 +- tests/Analysis/AuditRefTest.php | 23 +++---- tests/Analysis/AuditTest.php | 51 +++++++------- tests/Analysis/CategoryGroupTest.php | 16 ++--- tests/Analysis/CategoryResultTest.php | 34 +++++----- tests/Analysis/CategoryTest.php | 12 ++-- tests/Analysis/LighthouseResultTest.php | 85 ++---------------------- tests/Analysis/LoadingExperienceTest.php | 10 +-- tests/Analysis/MetricTest.php | 12 ++-- tests/Analysis/StrategyTest.php | 8 +-- tests/AnalysisTest.php | 30 ++++----- tests/Fixtures/Factory/MetricFactory.php | 2 +- tests/PageSpeedApiTest.php | 19 +++--- 15 files changed, 119 insertions(+), 191 deletions(-) diff --git a/README.md b/README.md index b0436f0..ee01361 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ <a href="https://github.com/smnandre/pagespeed-api/actions"><img alt="javscript-action status" src="https://github.com/smnandre/pagespeed-api/actions/workflows/CI.yaml/badge.svg"></a> <a href="https://img.shields.io/github/v/release/smnandre/pagespeed-api"><img alt="release" src="https://img.shields.io/github/v/release/smnandre/pagespeed-api"></a> <a href="https://img.shields.io/github/license/smnandre/pagespeed-api"><img alt="license" src="https://img.shields.io/github/license/smnandre/pagespeed-api?color=cc67ff"></a> +<a href="https://codecov.io/gh/smnandre/pagespeed-api" ><img src="https://codecov.io/gh/smnandre/pagespeed-api/graph/badge.svg?token=RC8Z6F4SPC"/></a> This PHP library offers an effortless way to leverage Google's PageSpeed Insights API. diff --git a/phpunit.dist.xml b/phpunit.dist.xml index 44d1b7d..ad2f7f8 100644 --- a/phpunit.dist.xml +++ b/phpunit.dist.xml @@ -5,10 +5,11 @@ cacheDirectory=".phpunit.cache" executionOrder="depends,defects" requireCoverageMetadata="true" - beStrictAboutCoverageMetadata="true" + beStrictAboutCoverageMetadata="false" beStrictAboutOutputDuringTests="true" failOnRisky="true" failOnWarning="true"> + <testsuites> <testsuite name="default"> <directory>tests</directory> diff --git a/src/PageSpeedApi.php b/src/PageSpeedApi.php index cc3b859..989f9f6 100644 --- a/src/PageSpeedApi.php +++ b/src/PageSpeedApi.php @@ -40,7 +40,7 @@ public function analyse(string $url, Strategy|string|null $strategy = null, ?str } if (is_string($strategy)) { - if (!in_array($strategy, Strategy::values())) { + if (null === Strategy::tryFrom($strategy)) { throw new \InvalidArgumentException(sprintf('Invalid strategy "%s" provided.', $strategy)); } $strategy = Strategy::from($strategy); @@ -52,7 +52,7 @@ public function analyse(string $url, Strategy|string|null $strategy = null, ?str foreach ($categories as $i => $category) { if (!$category instanceof Category) { - if (!in_array($category, Strategy::values())) { + if (null === Category::tryFrom($category)) { throw new \InvalidArgumentException(sprintf('Invalid category "%s" provided.', $category)); } $categories[$i] = Category::from($category); diff --git a/tests/Analysis/AuditRefTest.php b/tests/Analysis/AuditRefTest.php index 9cc3d19..d1e80ea 100644 --- a/tests/Analysis/AuditRefTest.php +++ b/tests/Analysis/AuditRefTest.php @@ -18,7 +18,6 @@ use PHPUnit\Framework\TestCase; #[CoversClass(AuditRef::class)] - final class AuditRefTest extends TestCase { public function testCanBeCreatedFromValues(): void @@ -33,11 +32,11 @@ public function testCanBeCreatedFromValues(): void $auditRef = AuditRef::create($values); - $this->assertSame($values['id'], $auditRef->id); - $this->assertSame($values['weight'], $auditRef->weight); - $this->assertSame($values['group'], $auditRef->group); - $this->assertSame($values['acronym'], $auditRef->acronym); - $this->assertSame($values['relevantAudits'], $auditRef->relevantAudits); + self::assertSame($values['id'], $auditRef->id); + self::assertSame($values['weight'], $auditRef->weight); + self::assertSame($values['group'], $auditRef->group); + self::assertSame($values['acronym'], $auditRef->acronym); + self::assertSame($values['relevantAudits'], $auditRef->relevantAudits); } public function testCanBeCreatedWithDefaultValues(): void @@ -49,16 +48,16 @@ public function testCanBeCreatedWithDefaultValues(): void $auditRef = AuditRef::create($values); - $this->assertSame($values['id'], $auditRef->id); - $this->assertSame($values['weight'], $auditRef->weight); - $this->assertNull($auditRef->group); - $this->assertNull($auditRef->acronym); - $this->assertNull($auditRef->relevantAudits); + self::assertSame($values['id'], $auditRef->id); + self::assertSame($values['weight'], $auditRef->weight); + self::assertNull($auditRef->group); + self::assertNull($auditRef->acronym); + self::assertNull($auditRef->relevantAudits); } public function testCreationFailsWithInvalidValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 123, diff --git a/tests/Analysis/AuditTest.php b/tests/Analysis/AuditTest.php index cf0b439..4842b48 100644 --- a/tests/Analysis/AuditTest.php +++ b/tests/Analysis/AuditTest.php @@ -11,14 +11,13 @@ * file that was distributed with this source code. */ -namespace Analysis; +namespace PageSpeed\Api\Tests\Analysis; use PageSpeed\Api\Analysis\Audit; use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; #[CoversClass(Audit::class)] - final class AuditTest extends TestCase { public function testCanBeCreatedFromValues(): void @@ -38,16 +37,16 @@ public function testCanBeCreatedFromValues(): void $audit = Audit::create($values); - $this->assertSame($values['id'], $audit->id); - $this->assertSame($values['title'], $audit->title); - $this->assertSame($values['description'], $audit->description); - $this->assertSame($values['score'], $audit->score); - $this->assertSame($values['scoreDisplayMode'], $audit->scoreDisplayMode); - $this->assertSame($values['displayValue'], $audit->displayValue); - $this->assertSame($values['details'], $audit->details); - $this->assertSame($values['numericValue'], $audit->numericValue); - $this->assertSame($values['numericUnit'], $audit->numericUnit); - $this->assertSame($values['warnings'], $audit->warnings); + self::assertSame($values['id'], $audit->id); + self::assertSame($values['title'], $audit->title); + self::assertSame($values['description'], $audit->description); + self::assertSame($values['score'], $audit->score); + self::assertSame($values['scoreDisplayMode'], $audit->scoreDisplayMode); + self::assertSame($values['displayValue'], $audit->displayValue); + self::assertSame($values['details'], $audit->details); + self::assertSame($values['numericValue'], $audit->numericValue); + self::assertSame($values['numericUnit'], $audit->numericUnit); + self::assertSame($values['warnings'], $audit->warnings); } public function testCanBeCreatedWithDefaultValues(): void @@ -61,21 +60,21 @@ public function testCanBeCreatedWithDefaultValues(): void $audit = Audit::create($values); - $this->assertSame($values['id'], $audit->id); - $this->assertSame($values['title'], $audit->title); - $this->assertSame($values['description'], $audit->description); - $this->assertNull($audit->score); - $this->assertSame($values['scoreDisplayMode'], $audit->scoreDisplayMode); - $this->assertNull($audit->displayValue); - $this->assertNull($audit->details); - $this->assertNull($audit->numericValue); - $this->assertNull($audit->numericUnit); - $this->assertNull($audit->warnings); + self::assertSame($values['id'], $audit->id); + self::assertSame($values['title'], $audit->title); + self::assertSame($values['description'], $audit->description); + self::assertNull($audit->score); + self::assertSame($values['scoreDisplayMode'], $audit->scoreDisplayMode); + self::assertNull($audit->displayValue); + self::assertNull($audit->details); + self::assertNull($audit->numericValue); + self::assertNull($audit->numericUnit); + self::assertNull($audit->warnings); } public function testFailsWithMissingValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 'test-id', @@ -87,7 +86,7 @@ public function testFailsWithMissingValues(): void public function testFailsWithInvalidValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 123, @@ -107,7 +106,7 @@ public function testFailsWithInvalidValues(): void public function testCreationFailsWithMissingValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 'test-id', @@ -119,7 +118,7 @@ public function testCreationFailsWithMissingValues(): void public function testCreationFailsWithInvalidValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 123, diff --git a/tests/Analysis/CategoryGroupTest.php b/tests/Analysis/CategoryGroupTest.php index 5d0c79e..bf3117f 100644 --- a/tests/Analysis/CategoryGroupTest.php +++ b/tests/Analysis/CategoryGroupTest.php @@ -30,9 +30,9 @@ public function testGroupCanBeCreatedFromValues(): void $categoryGroup = CategoryGroup::create($values); - $this->assertSame($values['id'], $categoryGroup->id); - $this->assertSame($values['title'], $categoryGroup->title); - $this->assertSame($values['description'], $categoryGroup->description); + self::assertSame($values['id'], $categoryGroup->id); + self::assertSame($values['title'], $categoryGroup->title); + self::assertSame($values['description'], $categoryGroup->description); } public function testGroupCanBeCreatedWithNullDescription(): void @@ -44,14 +44,14 @@ public function testGroupCanBeCreatedWithNullDescription(): void $categoryGroup = CategoryGroup::create($values); - $this->assertSame($values['id'], $categoryGroup->id); - $this->assertSame($values['title'], $categoryGroup->title); - $this->assertNull($categoryGroup->description); + self::assertSame($values['id'], $categoryGroup->id); + self::assertSame($values['title'], $categoryGroup->title); + self::assertNull($categoryGroup->description); } public function testGroupCreationFailsWithMissingValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 'test-id', @@ -62,7 +62,7 @@ public function testGroupCreationFailsWithMissingValues(): void public function testGroupCreationFailsWithInvalidValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 123, diff --git a/tests/Analysis/CategoryResultTest.php b/tests/Analysis/CategoryResultTest.php index fe11a0e..4d3a4f9 100644 --- a/tests/Analysis/CategoryResultTest.php +++ b/tests/Analysis/CategoryResultTest.php @@ -19,6 +19,7 @@ use PHPUnit\Framework\TestCase; #[CoversClass(CategoryResult::class)] +#[CoversClass(AuditRef::class)] final class CategoryResultTest extends TestCase { public function testCanBeCreatedFromValues(): void @@ -29,7 +30,6 @@ public function testCanBeCreatedFromValues(): void 'score' => 0.9, 'auditRefs' => [ ['id' => 'audit1', 'weight' => 1], - ['id' => 'audit2', 'weight' => 2], ], 'description' => 'test-description', 'manualDescription' => 'test-manual-description', @@ -37,13 +37,13 @@ public function testCanBeCreatedFromValues(): void $categoryResult = CategoryResult::create($values); - $this->assertSame($values['id'], $categoryResult->id); - $this->assertSame($values['title'], $categoryResult->title); - $this->assertSame($values['score'], $categoryResult->score); - $this->assertCount(2, $categoryResult->auditRefs); - $this->assertInstanceOf(AuditRef::class, $categoryResult->auditRefs[0]); - $this->assertSame($values['description'], $categoryResult->description); - $this->assertSame($values['manualDescription'], $categoryResult->manualDescription); + self::assertSame($values['id'], $categoryResult->id); + self::assertSame($values['title'], $categoryResult->title); + self::assertSame($values['score'], $categoryResult->score); + self::assertCount(1, $categoryResult->auditRefs); + self::assertInstanceOf(AuditRef::class, $categoryResult->auditRefs[0]); + self::assertSame($values['description'], $categoryResult->description); + self::assertSame($values['manualDescription'], $categoryResult->manualDescription); } public function testCanBeCreatedWithDefaultValues(): void @@ -59,18 +59,18 @@ public function testCanBeCreatedWithDefaultValues(): void $categoryResult = CategoryResult::create($values); - $this->assertSame($values['id'], $categoryResult->id); - $this->assertSame($values['title'], $categoryResult->title); - $this->assertSame($values['score'], $categoryResult->score); - $this->assertCount(1, $categoryResult->auditRefs); - $this->assertInstanceOf(AuditRef::class, $categoryResult->auditRefs[0]); - $this->assertNull($categoryResult->description); - $this->assertNull($categoryResult->manualDescription); + self::assertSame($values['id'], $categoryResult->id); + self::assertSame($values['title'], $categoryResult->title); + self::assertSame($values['score'], $categoryResult->score); + self::assertCount(1, $categoryResult->auditRefs); + self::assertInstanceOf(AuditRef::class, $categoryResult->auditRefs[0]); + self::assertNull($categoryResult->description); + self::assertNull($categoryResult->manualDescription); } public function testCreationFailsWithMissingValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 'test-id', @@ -82,7 +82,7 @@ public function testCreationFailsWithMissingValues(): void public function testCreationFailsWithInvalidValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 123, diff --git a/tests/Analysis/CategoryTest.php b/tests/Analysis/CategoryTest.php index d16c65a..f96cf4b 100644 --- a/tests/Analysis/CategoryTest.php +++ b/tests/Analysis/CategoryTest.php @@ -23,16 +23,16 @@ class CategoryTest extends TestCase public function testValues(): void { $values = Category::values(); - $this->assertIsArray($values); - $this->assertContains('accessibility', $values); - $this->assertContains('best-practices', $values); - $this->assertContains('performance', $values); - $this->assertContains('seo', $values); + self::assertIsArray($values); + self::assertContains('accessibility', $values); + self::assertContains('best-practices', $values); + self::assertContains('performance', $values); + self::assertContains('seo', $values); } public function testValuesCount(): void { $values = Category::values(); - $this->assertCount(4, $values); + self::assertCount(4, $values); } } diff --git a/tests/Analysis/LighthouseResultTest.php b/tests/Analysis/LighthouseResultTest.php index 143709c..3e0c5a4 100644 --- a/tests/Analysis/LighthouseResultTest.php +++ b/tests/Analysis/LighthouseResultTest.php @@ -15,6 +15,8 @@ use PageSpeed\Api\Analysis\Audit; use PageSpeed\Api\Analysis\LighthouseResult; +use PageSpeed\Api\Tests\Fixtures\Factory\LighthouseCategoryResultFactory; +use PageSpeed\Api\Tests\Fixtures\Factory\LighthouseResultFactory; use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\TestCase; @@ -23,85 +25,12 @@ class LighthouseResultTest extends TestCase { public function testCanBeCreatedFromValues(): void { - $values = [ - 'id' => 'test-id', - 'title' => 'test-title', - 'description' => 'test-description', - 'score' => 0.9, - 'scoreDisplayMode' => 'binary', - 'displayValue' => '1.0 s', - 'details' => ['detail1', 'detail2'], - 'numericValue' => 1.0, - 'numericUnit' => 'second', - 'warnings' => ['warning1', 'warning2'], - ]; + $values = LighthouseResultFactory::createData([]); - $audit = Audit::create($values); + $lighthouseResult = LighthouseResult::create($values); - $this->assertSame($values['id'], $audit->id); - $this->assertSame($values['title'], $audit->title); - $this->assertSame($values['description'], $audit->description); - $this->assertSame($values['score'], $audit->score); - $this->assertSame($values['scoreDisplayMode'], $audit->scoreDisplayMode); - $this->assertSame($values['displayValue'], $audit->displayValue); - $this->assertSame($values['details'], $audit->details); - $this->assertSame($values['numericValue'], $audit->numericValue); - $this->assertSame($values['numericUnit'], $audit->numericUnit); - $this->assertSame($values['warnings'], $audit->warnings); - } - - public function testCanBeCreatedWithDefaultValues(): void - { - $values = [ - 'id' => 'test-id', - 'title' => 'test-title', - 'description' => 'test-description', - 'scoreDisplayMode' => 'binary', - ]; - - $audit = Audit::create($values); - - $this->assertSame($values['id'], $audit->id); - $this->assertSame($values['title'], $audit->title); - $this->assertSame($values['description'], $audit->description); - $this->assertNull($audit->score); - $this->assertSame($values['scoreDisplayMode'], $audit->scoreDisplayMode); - $this->assertNull($audit->displayValue); - $this->assertNull($audit->details); - $this->assertNull($audit->numericValue); - $this->assertNull($audit->numericUnit); - $this->assertNull($audit->warnings); - } - - public function testCreationFailsWithMissingValues(): void - { - $this->expectException(\InvalidArgumentException::class); - - $values = [ - 'id' => 'test-id', - 'title' => 'test-title', - ]; - - Audit::create($values); - } - - public function testCreationFailsWithInvalidValues(): void - { - $this->expectException(\InvalidArgumentException::class); - - $values = [ - 'id' => 123, - 'title' => 'test-title', - 'description' => 'test-description', - 'score' => 'invalid', - 'scoreDisplayMode' => 'binary', - 'displayValue' => '1.0 s', - 'details' => 'invalid', - 'numericValue' => 'invalid', - 'numericUnit' => 'second', - 'warnings' => 'invalid', - ]; - - Audit::create($values); + self::assertSame($values['requestedUrl'], $lighthouseResult->requestedUrl); + self::assertSame($values['finalUrl'], $lighthouseResult->finalUrl); + self::assertSame($values['lighthouseVersion'], $lighthouseResult->lighthouseVersion); } } diff --git a/tests/Analysis/LoadingExperienceTest.php b/tests/Analysis/LoadingExperienceTest.php index 3023e24..ed99389 100644 --- a/tests/Analysis/LoadingExperienceTest.php +++ b/tests/Analysis/LoadingExperienceTest.php @@ -35,14 +35,14 @@ public function testCanBeCreatedFromValues(): void $loadingExperience = LoadingExperience::create($values); - $this->assertSame($values['id'], $loadingExperience->id); - $this->assertSame($values['overall_category'], $loadingExperience->overallCategory); - $this->assertSame($values['initial_url'], $loadingExperience->initialUrl); + self::assertSame($values['id'], $loadingExperience->id); + self::assertSame($values['overall_category'], $loadingExperience->overallCategory); + self::assertSame($values['initial_url'], $loadingExperience->initialUrl); } public function testCreationFailsWithMissingValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 'test-id', @@ -58,7 +58,7 @@ public function testCreationFailsWithMissingValues(): void public function testExperienceCreationFailsWithInvalidValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 123, diff --git a/tests/Analysis/MetricTest.php b/tests/Analysis/MetricTest.php index 12ceebe..cf673f9 100644 --- a/tests/Analysis/MetricTest.php +++ b/tests/Analysis/MetricTest.php @@ -31,15 +31,15 @@ public function testCanBeCreatedFromValues(): void $metric = Metric::create($values); - $this->assertSame($values['id'], $metric->id); - $this->assertSame($values['percentile'], $metric->percentile); - $this->assertSame($values['distributions'], $metric->distributions); - $this->assertSame($values['category'], $metric->category); + self::assertSame($values['id'], $metric->id); + self::assertSame($values['percentile'], $metric->percentile); + self::assertSame($values['distributions'], $metric->distributions); + self::assertSame($values['category'], $metric->category); } public function testCreationFailsWithMissingValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 'test-id', @@ -52,7 +52,7 @@ public function testCreationFailsWithMissingValues(): void public function testCreationFailsWithInvalidValues(): void { - $this->expectException(\InvalidArgumentException::class); + self::expectException(\InvalidArgumentException::class); $values = [ 'id' => 123, diff --git a/tests/Analysis/StrategyTest.php b/tests/Analysis/StrategyTest.php index f023288..052da14 100644 --- a/tests/Analysis/StrategyTest.php +++ b/tests/Analysis/StrategyTest.php @@ -23,14 +23,14 @@ class StrategyTest extends TestCase public function testValues(): void { $values = Strategy::values(); - $this->assertIsArray($values); - $this->assertContains('desktop', $values); - $this->assertContains('mobile', $values); + self::assertIsArray($values); + self::assertContains('desktop', $values); + self::assertContains('mobile', $values); } public function testValuesCount(): void { $values = Strategy::values(); - $this->assertCount(2, $values); + self::assertCount(2, $values); } } diff --git a/tests/AnalysisTest.php b/tests/AnalysisTest.php index cda4be4..b068cd3 100644 --- a/tests/AnalysisTest.php +++ b/tests/AnalysisTest.php @@ -48,22 +48,22 @@ public function testAuditScoresReturnsCorrectValues(): void 'accessibility' => 95, ]; - $this->assertSame($expectedScores, $analysis->getAuditScores()); + self::assertSame($expectedScores, $analysis->getAuditScores()); } - public function auditScoresReturnsEmptyArrayWhenNoScores(): void - { - $values = AnalysisFactory::createData([ - 'id' => 'test-id', - 'analysisUTCTimestamp' => '2022-01-01T00:00:00Z', - 'lighthouseResult' => [ - 'categories' => [], - ], - ]); - - $analysis = Analysis::create($values); - - $this->assertSame([], $analysis->getAuditScores()); - } + // public function auditScoresReturnsEmptyArrayWhenNoScores(): void + // { + // $values = AnalysisFactory::createData([ + // 'id' => 'test-id', + // 'analysisUTCTimestamp' => '2022-01-01T00:00:00Z', + // 'lighthouseResult' => [ + // 'categories' => [], + // ], + // ]); + // + // $analysis = Analysis::create($values); + // + // self::assertSame([], $analysis->getAuditScores()); + // } } diff --git a/tests/Fixtures/Factory/MetricFactory.php b/tests/Fixtures/Factory/MetricFactory.php index 9beefd3..f4ae551 100644 --- a/tests/Fixtures/Factory/MetricFactory.php +++ b/tests/Fixtures/Factory/MetricFactory.php @@ -11,7 +11,7 @@ * file that was distributed with this source code. */ -namespace Fixtures\Factory; +namespace PageSpeed\Api\Tests\Fixtures\Factory; class MetricFactory { diff --git a/tests/PageSpeedApiTest.php b/tests/PageSpeedApiTest.php index df2323d..6011268 100644 --- a/tests/PageSpeedApiTest.php +++ b/tests/PageSpeedApiTest.php @@ -21,7 +21,6 @@ use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpClient\MockHttpClient; -use Symfony\Component\HttpClient\Response\JsonMockResponse; use Symfony\Component\HttpClient\Response\MockResponse; #[CoversClass(PageSpeedApi::class)] @@ -91,15 +90,15 @@ public function testAnalyseReturnsCorrectValues(): void $analysis = $api->analyse('https://example.com', Strategy::Desktop, 'en_US', [Category::Performance]); - $this->assertInstanceOf(Analysis::class, $analysis); + self::assertInstanceOf(Analysis::class, $analysis); } public function testAnalyseFailsWithInvalidUrl(): void { $api = new PageSpeedApi('API_KEY'); - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage('Invalid URL provided.'); + self::expectException(\InvalidArgumentException::class); + self::expectExceptionMessage('Invalid URL provided.'); $api->analyse('invalid-url'); } @@ -108,8 +107,8 @@ public function testAnalyseFailsWithInvalidStrategy(): void { $api = new PageSpeedApi('API_KEY'); - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage('Invalid strategy "invalid" provided.'); + self::expectException(\InvalidArgumentException::class); + self::expectExceptionMessage('Invalid strategy "invalid" provided.'); $api->analyse('https://example.com', 'invalid'); } @@ -118,8 +117,8 @@ public function testAnalyseFailsWithInvalidLocale(): void { $api = new PageSpeedApi('API_KEY'); - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage('Invalid locale "invalid" provided.'); + self::expectException(\InvalidArgumentException::class); + self::expectExceptionMessage('Invalid locale "invalid" provided.'); $api->analyse('https://example.com', Strategy::Desktop, 'invalid'); } @@ -128,8 +127,8 @@ public function testAnalyseFailsWithInvalidCategory(): void { $api = new PageSpeedApi('API_KEY'); - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage('Invalid category "invalid" provided.'); + self::expectException(\InvalidArgumentException::class); + self::expectExceptionMessage('Invalid category "invalid" provided.'); /** @phpstan-ignore-next-line */ $api->analyse('https://example.com', Strategy::Desktop, 'en_US', ['invalid']);