packages/ztd-query-postgres/tests/Unit/Rewrite/Transformer/Update/ColumnProjectionTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Rewrite\Transformer\Update;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9
10#[CoversClass(\ZtdQuery\Platform\Postgres\Rewrite\Transformer\Update\ColumnProjection::class)]
11final class ColumnProjectionTest extends TestCase
12{
13    public function testRenderPreservesUnmodifiedColumnsAndOriginalIdentity(): void
14    {
15        $projection = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\Update\ColumnProjection();
16        self::assertSame('2 AS "id", "u"."name", "u"."id" AS "__ztd_original_id"', $projection->render('u', ['id' => '2'], ['id', 'name'], ['id']));
17        self::assertSame('*', $projection->render('users', [], [], []));
18    }
19}
20