packages/ztd-query-mysql/tests/Unit/Shadow/Mutation/Table/Alter/StoredColumnsTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Shadow\Mutation\Table\Alter;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns;
10
11#[CoversClass(StoredColumns::class)]
12final class StoredColumnsTest extends TestCase
13{
14 public function testRemoveColumnFromStore(): void
15 {
16 $store = new \ZtdQuery\Shadow\ShadowStore();
17 $store->set('t', [['id' => 1, 'name' => null], ['id' => 2]]);
18 (new StoredColumns('t'))->removeColumnFromStore($store, 'name');
19 self::assertSame([['id' => 1], ['id' => 2]], $store->get('t'));
20 (new StoredColumns('missing'))->removeColumnFromStore($store, 'name');
21 self::assertSame([], $store->get('missing'));
22 }
23
24 public function testRenameColumnInStore(): void
25 {
26 $store = new \ZtdQuery\Shadow\ShadowStore();
27 $store->set('t', [['id' => 1, 'name' => null], ['id' => 2]]);
28 (new StoredColumns('t'))->renameColumnInStore($store, 'name', 'label');
29 self::assertSame([['id' => 1, 'label' => null], ['id' => 2]], $store->get('t'));
30 (new StoredColumns('missing'))->renameColumnInStore($store, 'name', 'label');
31 self::assertSame([], $store->get('missing'));
32 }
33
34}
35