packages/ztd-query-core/tests/Unit/Shadow/Mutation/Upsert/UpsertLiteralTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Shadow\Mutation\Upsert;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use stdClass;
10use ZtdQuery\Shadow\Mutation\Upsert\UpsertLiteral;
11
12#[CoversClass(UpsertLiteral::class)]
13final class UpsertLiteralTest extends TestCase
14{
15    public function testValuePreservesObjectIdentity(): void
16    {
17        $value = new stdClass();
18
19        self::assertSame($value, (new UpsertLiteral($value))->value());
20    }
21
22    public function testValuePreservesNestedArrayKeysAndValues(): void
23    {
24        $value = ['json' => [3 => ['active' => true, 'missing' => null]]];
25
26        self::assertSame($value, (new UpsertLiteral($value))->value());
27    }
28}
29