packages/ztd-query-core/tests/Unit/Exception/ColumnNotFoundExceptionTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Exception;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use ZtdQuery\Exception\ColumnNotFoundException;
10
11#[CoversClass(ColumnNotFoundException::class)]
12final class ColumnNotFoundExceptionTest extends TestCase
13{
14 public function testGetMessageReturnsFormattedMessage(): void
15 {
16 $exception = new ColumnNotFoundException(
17 'SELECT email FROM users',
18 'users',
19 'email'
20 );
21
22 self::assertSame("Column 'email' does not exist in table 'users'.", $exception->getMessage());
23 }
24
25 public function testGetSqlReturnsOriginalSql(): void
26 {
27 $sql = 'SELECT email FROM users';
28 $exception = new ColumnNotFoundException($sql, 'users', 'email');
29
30 self::assertSame($sql, $exception->getSql());
31 }
32
33 public function testGetTableNameReturnsTableName(): void
34 {
35 $exception = new ColumnNotFoundException(
36 'SELECT email FROM users',
37 'users',
38 'email'
39 );
40
41 self::assertSame('users', $exception->getTableName());
42 }
43
44 public function testGetColumnNameReturnsColumnName(): void
45 {
46 $exception = new ColumnNotFoundException(
47 'SELECT email FROM users',
48 'users',
49 'email'
50 );
51
52 self::assertSame('email', $exception->getColumnName());
53 }
54
55}
56