Skip to content

Commit 393dd2e

Browse files
authored
Make TestTrait::getDriverName() static (#331)
1 parent 2767178 commit 393dd2e

File tree

3 files changed

+30
-1
lines changed

3 files changed

+30
-1
lines changed

tests/Provider/QueryBuilderProvider.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,4 +412,22 @@ public static function prepareValue(): array
412412

413413
return $values;
414414
}
415+
416+
public static function caseExpressionBuilder(): array
417+
{
418+
$data = parent::caseExpressionBuilder();
419+
420+
$data['with case expression'] = [
421+
$data['with case expression'][0]->else(
422+
new Expression('to_number(:qp0)', [':qp0' => $param = new Param(4, DataType::INTEGER)])
423+
),
424+
'CASE (1 + 2) WHEN 1 THEN 1 WHEN 2 THEN 2 WHEN 3 THEN (2 + 1) ELSE to_number(:qp0) END',
425+
[':qp0' => $param],
426+
3,
427+
];
428+
$data['without case expression'][1] = 'CASE WHEN "column_name" = :qp0 THEN :qp1'
429+
. ' WHEN "column_name" = 2 THEN (SELECT :pv2 FROM DUAL) END';
430+
431+
return $data;
432+
}
415433
}

tests/QueryBuilderTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Yiisoft\Db\Exception\Exception;
1010
use InvalidArgumentException;
1111
use Yiisoft\Db\Exception\NotSupportedException;
12+
use Yiisoft\Db\Expression\CaseExpression;
1213
use Yiisoft\Db\Expression\ExpressionInterface;
1314
use Yiisoft\Db\Oracle\Tests\Provider\QueryBuilderProvider;
1415
use Yiisoft\Db\Oracle\Tests\Support\TestTrait;
@@ -568,4 +569,14 @@ public function testDropTable(string $expected, ?bool $ifExists, ?bool $cascade)
568569

569570
parent::testDropTable($expected, $ifExists, $cascade);
570571
}
572+
573+
#[DataProviderExternal(QueryBuilderProvider::class, 'caseExpressionBuilder')]
574+
public function testCaseExpressionBuilder(
575+
CaseExpression $case,
576+
string $expectedSql,
577+
array $expectedParams,
578+
string|int $expectedResult,
579+
): void {
580+
parent::testCaseExpressionBuilder($case, $expectedSql, $expectedParams, $expectedResult);
581+
}
571582
}

tests/Support/TestTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ protected function getDsn(): string
6161
return $this->dsn;
6262
}
6363

64-
protected function getDriverName(): string
64+
protected static function getDriverName(): string
6565
{
6666
return 'oci';
6767
}

0 commit comments

Comments
 (0)