Skip to content

Commit

Permalink
Clean tests
Browse files Browse the repository at this point in the history
  • Loading branch information
smnandre committed May 28, 2024
1 parent ea67577 commit fe9079a
Show file tree
Hide file tree
Showing 15 changed files with 119 additions and 191 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
3 changes: 2 additions & 1 deletion phpunit.dist.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
4 changes: 2 additions & 2 deletions src/PageSpeedApi.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down
23 changes: 11 additions & 12 deletions tests/Analysis/AuditRefTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
use PHPUnit\Framework\TestCase;

#[CoversClass(AuditRef::class)]

final class AuditRefTest extends TestCase
{
public function testCanBeCreatedFromValues(): void
Expand All @@ -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
Expand All @@ -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,
Expand Down
51 changes: 25 additions & 26 deletions tests/Analysis/AuditTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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',
Expand All @@ -87,7 +86,7 @@ public function testFailsWithMissingValues(): void

public function testFailsWithInvalidValues(): void
{
$this->expectException(\InvalidArgumentException::class);
self::expectException(\InvalidArgumentException::class);

$values = [
'id' => 123,
Expand All @@ -107,7 +106,7 @@ public function testFailsWithInvalidValues(): void

public function testCreationFailsWithMissingValues(): void
{
$this->expectException(\InvalidArgumentException::class);
self::expectException(\InvalidArgumentException::class);

$values = [
'id' => 'test-id',
Expand All @@ -119,7 +118,7 @@ public function testCreationFailsWithMissingValues(): void

public function testCreationFailsWithInvalidValues(): void
{
$this->expectException(\InvalidArgumentException::class);
self::expectException(\InvalidArgumentException::class);

$values = [
'id' => 123,
Expand Down
16 changes: 8 additions & 8 deletions tests/Analysis/CategoryGroupTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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',
Expand All @@ -62,7 +62,7 @@ public function testGroupCreationFailsWithMissingValues(): void

public function testGroupCreationFailsWithInvalidValues(): void
{
$this->expectException(\InvalidArgumentException::class);
self::expectException(\InvalidArgumentException::class);

$values = [
'id' => 123,
Expand Down
34 changes: 17 additions & 17 deletions tests/Analysis/CategoryResultTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
use PHPUnit\Framework\TestCase;

#[CoversClass(CategoryResult::class)]
#[CoversClass(AuditRef::class)]
final class CategoryResultTest extends TestCase
{
public function testCanBeCreatedFromValues(): void
Expand All @@ -29,21 +30,20 @@ public function testCanBeCreatedFromValues(): void
'score' => 0.9,
'auditRefs' => [
['id' => 'audit1', 'weight' => 1],
['id' => 'audit2', 'weight' => 2],
],
'description' => 'test-description',
'manualDescription' => 'test-manual-description',
];

$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
Expand All @@ -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',
Expand All @@ -82,7 +82,7 @@ public function testCreationFailsWithMissingValues(): void

public function testCreationFailsWithInvalidValues(): void
{
$this->expectException(\InvalidArgumentException::class);
self::expectException(\InvalidArgumentException::class);

$values = [
'id' => 123,
Expand Down
12 changes: 6 additions & 6 deletions tests/Analysis/CategoryTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
Loading

0 comments on commit fe9079a

Please sign in to comment.