packages/ztd-query-core/tests/Unit/Config/UnsupportedSqlBehaviorTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Config;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use ZtdQuery\Config\UnsupportedSqlBehavior;
10
11#[CoversClass(UnsupportedSqlBehavior::class)]
12final class UnsupportedSqlBehaviorTest extends TestCase
13{
14 public function testCasesReturnsAllCases(): void
15 {
16 $cases = UnsupportedSqlBehavior::cases();
17
18 self::assertCount(3, $cases);
19 self::assertContains(UnsupportedSqlBehavior::Ignore, $cases);
20 self::assertContains(UnsupportedSqlBehavior::Notice, $cases);
21 self::assertContains(UnsupportedSqlBehavior::Exception, $cases);
22 }
23
24 public function testCaseHasCorrectValue(): void
25 {
26 self::assertSame('ignore', UnsupportedSqlBehavior::Ignore->value);
27 self::assertSame('notice', UnsupportedSqlBehavior::Notice->value);
28 self::assertSame('exception', UnsupportedSqlBehavior::Exception->value);
29 }
30
31 public function testFromReturnsCorrectCase(): void
32 {
33 self::assertSame(UnsupportedSqlBehavior::Ignore, UnsupportedSqlBehavior::from('ignore'));
34 self::assertSame(UnsupportedSqlBehavior::Notice, UnsupportedSqlBehavior::from('notice'));
35 self::assertSame(UnsupportedSqlBehavior::Exception, UnsupportedSqlBehavior::from('exception'));
36 }
37
38 public function testTryFromReturnsNullForInvalidValue(): void
39 {
40 $result = UnsupportedSqlBehavior::tryFrom('invalid');
41
42 self::assertSame(null, $result);
43 }
44}
45