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']);