packages/requirements/tests/Unit/Verification/VerificationResultTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Verification;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\Attributes\Small;
9use PHPUnit\Framework\TestCase;
10use Requirements\Verification\VerificationResult;
11
12#[CoversClass(VerificationResult::class)]
13#[Small]
14final class VerificationResultTest extends TestCase
15{
16 public function testToArrayReportsEveryField(): void
17 {
18 self::assertSame(['status' => 'failed', 'tests' => 3, 'passed_targets' => 1, 'total_targets' => 2, 'message' => 'b: Expected failure.', 'deferred_targets' => 0], (new VerificationResult('failed', 3, 1, 2, 'b: Expected failure.'))->toArray());
19 }
20
21 public function testToArrayKeepsANullPassedTargetCountAndEmptyMessage(): void
22 {
23 self::assertSame(['status' => 'not-run', 'tests' => 0, 'passed_targets' => null, 'total_targets' => 2, 'message' => '', 'deferred_targets' => 0], (new VerificationResult('not-run', 0, null, 2))->toArray());
24 }
25 public function testToArrayReportsDeferredTargetsSeparatelyFromPassingTargets(): void
26 {
27 self::assertSame(['status' => 'deferred', 'tests' => 1, 'passed_targets' => 1, 'total_targets' => 2, 'message' => 'Deferred.', 'deferred_targets' => 1], (new VerificationResult('deferred', 1, 1, 2, 'Deferred.', 1))->toArray());
28 }
29}
30