packages/sql-fixture/tests/Unit/Version/UnsupportedVersionExceptionTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Version;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use SqlFixture\Version\UnsupportedVersionException;
10
11#[CoversClass(UnsupportedVersionException::class)]
12final class UnsupportedVersionExceptionTest extends TestCase
13{
14    public function testDescribesAnUnknownVersion(): void
15    {
16        $exception = new UnsupportedVersionException('mysql', 'mysql-5.5.62');
17        self::assertSame('mysql', $exception->dialect);
18        self::assertSame('mysql-5.5.62', $exception->version);
19        self::assertSame('Unsupported mysql version: mysql-5.5.62', $exception->getMessage());
20    }
21
22    public function testDescribesADialectWithoutReleases(): void
23    {
24        $exception = new UnsupportedVersionException('oracle', null);
25        self::assertNull($exception->version);
26        self::assertSame('No supported versions are registered for the oracle driver', $exception->getMessage());
27    }
28}
29