packages/sql-fixture/tests/Unit/Hydrator/Exception/MissingConstructorArgumentExceptionTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Hydrator\Exception;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\Attributes\UsesClass;
9use PHPUnit\Framework\TestCase;
10
11#[CoversClass(\SqlFixture\Hydrator\Exception\MissingConstructorArgumentException::class)]
12#[UsesClass(\SqlFixture\Hydrator\HydrationException::class)]
13#[UsesClass(\SqlFixture\Hydrator\Exception\ClassNotFoundException::class)]
14final class MissingConstructorArgumentExceptionTest extends TestCase
15{
16    public function testDescribesMissingConstructorArgument(): void
17    {
18        $exception = new \SqlFixture\Hydrator\Exception\MissingConstructorArgumentException('User', 'name');
19        self::assertSame('Missing required constructor parameter "name" for class "User"', $exception->getMessage());
20        self::assertSame('User', $exception->className);
21        self::assertSame('name', $exception->parameterName);
22    }
23}
24