packages/sql-fixture/tests/Unit/Platform/Sqlite/Schema/CreateTableQueryTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Platform\Sqlite\Schema;
6
7use PDO;
8use PHPUnit\Framework\Attributes\CoversClass;
9use PHPUnit\Framework\TestCase;
10use SqlFixture\Platform\Sqlite\Schema\CreateTableQuery as Subject;
11
12#[CoversClass(Subject::class)]
13final class CreateTableQueryTest extends TestCase
14{
15    public function testFetchCreateTableSqlReadsSqliteMaster(): void
16    {
17        $pdo = new PDO('sqlite::memory:');
18        $pdo->exec('CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(30) NOT NULL DEFAULT \'ready\')');
19        $sql = (new Subject())->fetchCreateTableSql($pdo, 'users');
20        self::assertNotNull($sql);
21        self::assertStringContainsString('VARCHAR(30)', $sql);
22    }
23}
24