packages/sql-catalog/tests/Unit/Core/Extension/SinkRoleTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Core\Extension;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use SqlCatalog\Core\Extension\SinkRole;
10
11#[CoversClass(SinkRole::class)]
12final class SinkRoleTest extends TestCase
13{
14    public function testCarriesSqlOnlyForTheCallsThatTakeAStatement(): void
15    {
16        self::assertTrue(SinkRole::Query->carriesSql());
17        self::assertTrue(SinkRole::Compose->carriesSql());
18        self::assertTrue(SinkRole::Prepare->carriesSql());
19        self::assertFalse(SinkRole::Execute->carriesSql());
20        self::assertFalse(SinkRole::Bind->carriesSql());
21    }
22
23    public function testReturnsSqlOnlyForTheCallThatHandsTheStatementBack(): void
24    {
25        self::assertTrue(SinkRole::Compose->returnsSql());
26        self::assertFalse(SinkRole::Query->returnsSql());
27        self::assertFalse(SinkRole::Prepare->returnsSql());
28    }
29}
30