packages/ztd-query-core/tests/Unit/Sql/TransactionOperationTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Sql;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use ZtdQuery\Sql\TransactionOperation;
10
11#[CoversClass(TransactionOperation::class)]
12final class TransactionOperationTest extends TestCase
13{
14    public function testDefinesEveryTransactionOperation(): void
15    {
16        self::assertSame([
17            TransactionOperation::Begin,
18            TransactionOperation::Commit,
19            TransactionOperation::Rollback,
20            TransactionOperation::Savepoint,
21            TransactionOperation::RollbackTo,
22            TransactionOperation::Release,
23        ], TransactionOperation::cases());
24        self::assertSame('begin', TransactionOperation::Begin->value);
25        self::assertSame('commit', TransactionOperation::Commit->value);
26        self::assertSame('rollback', TransactionOperation::Rollback->value);
27        self::assertSame('savepoint', TransactionOperation::Savepoint->value);
28        self::assertSame('rollback_to', TransactionOperation::RollbackTo->value);
29        self::assertSame('release', TransactionOperation::Release->value);
30    }
31}
32