Skip to content

Commit 9b544ae

Browse files
authored
Update tests according changes in db (#371)
1 parent 0ec935e commit 9b544ae

File tree

2 files changed

+33
-27
lines changed

2 files changed

+33
-27
lines changed

tests/Provider/QueryBuilderProvider.php

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -510,19 +510,19 @@ public static function multiOperandFunctionBuilder(): array
510510
{
511511
$data = parent::multiOperandFunctionBuilder();
512512

513-
$data['Greatest with 4 operands'][2] = 'GREATEST(1, 1.5, 1 + 2, (SELECT 10 FROM DUAL))';
514-
$data['Least with 4 operands'][2] = 'LEAST(1, 1.5, 1 + 2, (SELECT 10 FROM DUAL))';
513+
$data['Greatest with 4 operands'][2] = 'GREATEST(1, 1.5, (1 + 2), (SELECT 10 FROM DUAL))';
514+
$data['Least with 4 operands'][2] = 'LEAST(1, 1.5, (1 + 2), (SELECT 10 FROM DUAL))';
515515
$data['Longest with 2 operands'][2] = <<<SQL
516-
(SELECT value FROM (SELECT 'short' AS value FROM DUAL UNION SELECT :qp0 AS value FROM DUAL) ORDER BY LENGTH(value) DESC FETCH FIRST 1 ROWS ONLY)
516+
(SELECT value FROM (SELECT :qp0 AS value FROM DUAL UNION SELECT :qp1 AS value FROM DUAL) ORDER BY LENGTH(value) DESC FETCH FIRST 1 ROWS ONLY)
517517
SQL;
518518
$data['Longest with 3 operands'][2] = <<<SQL
519-
(SELECT value FROM (SELECT 'short' AS value FROM DUAL UNION SELECT (SELECT 'longest' FROM DUAL) AS value FROM DUAL UNION SELECT :qp0 AS value FROM DUAL) ORDER BY LENGTH(value) DESC FETCH FIRST 1 ROWS ONLY)
519+
(SELECT value FROM (SELECT :qp0 AS value FROM DUAL UNION SELECT (SELECT 'longest' FROM DUAL) AS value FROM DUAL UNION SELECT :qp1 AS value FROM DUAL) ORDER BY LENGTH(value) DESC FETCH FIRST 1 ROWS ONLY)
520520
SQL;
521521
$data['Shortest with 2 operands'][2] = <<<SQL
522-
(SELECT value FROM (SELECT 'short' AS value FROM DUAL UNION SELECT :qp0 AS value FROM DUAL) ORDER BY LENGTH(value) ASC FETCH FIRST 1 ROWS ONLY)
522+
(SELECT value FROM (SELECT :qp0 AS value FROM DUAL UNION SELECT :qp1 AS value FROM DUAL) ORDER BY LENGTH(value) ASC FETCH FIRST 1 ROWS ONLY)
523523
SQL;
524524
$data['Shortest with 3 operands'][2] = <<<SQL
525-
(SELECT value FROM (SELECT 'short' AS value FROM DUAL UNION SELECT (SELECT 'longest' FROM DUAL) AS value FROM DUAL UNION SELECT :qp0 AS value FROM DUAL) ORDER BY LENGTH(value) ASC FETCH FIRST 1 ROWS ONLY)
525+
(SELECT value FROM (SELECT :qp0 AS value FROM DUAL UNION SELECT (SELECT 'longest' FROM DUAL) AS value FROM DUAL UNION SELECT :qp1 AS value FROM DUAL) ORDER BY LENGTH(value) ASC FETCH FIRST 1 ROWS ONLY)
526526
SQL;
527527

528528
$stringParam = new Param('[3,4,5]', DataType::STRING);
@@ -531,33 +531,38 @@ public static function multiOperandFunctionBuilder(): array
531531
...$data,
532532
'ArrayMerge with 1 operand' => [
533533
ArrayMerge::class,
534-
["'[1,2,3]'"],
535-
"('[1,2,3]')",
534+
[[1, 2, 3]],
535+
'(:qp0)',
536536
[1, 2, 3],
537+
[':qp0' => new Param('[1,2,3]', DataType::STRING)],
537538
],
538539
'ArrayMerge with 2 operands' => [
539540
ArrayMerge::class,
540-
["'[1,2,3]'", $stringParam],
541+
[[1, 2, 3], $stringParam],
541542
'(SELECT JSON_ARRAYAGG(value) AS value FROM ('
542-
. "SELECT value FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS(value PATH '$'))"
543-
. " UNION SELECT value FROM JSON_TABLE(:qp0, '$[*]' COLUMNS(value PATH '$'))))",
543+
. "SELECT value FROM JSON_TABLE(:qp0, '$[*]' COLUMNS(value PATH '$'))"
544+
. " UNION SELECT value FROM JSON_TABLE(:qp1, '$[*]' COLUMNS(value PATH '$'))))",
544545
[1, 2, 3, 4, 5],
545-
[':qp0' => $stringParam],
546+
[
547+
':qp0' => new Param('[1,2,3]', DataType::STRING),
548+
':qp1' => $stringParam,
549+
],
546550
],
547551
'ArrayMerge with 4 operands' => [
548552
ArrayMerge::class,
549-
["'[1,2,3]'", [5, 6, 7], $stringParam, self::getDb()->select(new ArrayValue([9, 10]))],
553+
[[1, 2, 3], new ArrayValue([5, 6, 7]), $stringParam, self::getDb()->select(new ArrayValue([9, 10]))],
550554
'(SELECT JSON_ARRAYAGG(value) AS value FROM ('
551-
. "SELECT value FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS(value PATH '$'))"
552-
. " UNION SELECT value FROM JSON_TABLE(:qp0, '$[*]' COLUMNS(value PATH '$'))"
555+
. "SELECT value FROM JSON_TABLE(:qp0, '$[*]' COLUMNS(value PATH '$'))"
553556
. " UNION SELECT value FROM JSON_TABLE(:qp1, '$[*]' COLUMNS(value PATH '$'))"
554-
. " UNION SELECT value FROM JSON_TABLE((SELECT :qp2 FROM DUAL), '$[*]' COLUMNS(value PATH '$'))"
557+
. " UNION SELECT value FROM JSON_TABLE(:qp2, '$[*]' COLUMNS(value PATH '$'))"
558+
. " UNION SELECT value FROM JSON_TABLE((SELECT :qp3 FROM DUAL), '$[*]' COLUMNS(value PATH '$'))"
555559
. '))',
556560
[1, 2, 3, 4, 5, 6, 7, 9, 10],
557561
[
558-
':qp0' => new Param('[5,6,7]', DataType::STRING),
559-
':qp1' => $stringParam,
560-
':qp2' => new Param('[9,10]', DataType::STRING),
562+
':qp0' => new Param('[1,2,3]', DataType::STRING),
563+
':qp1' => new Param('[5,6,7]', DataType::STRING),
564+
':qp2' => $stringParam,
565+
':qp3' => new Param('[9,10]', DataType::STRING),
561566
],
562567
],
563568
];

tests/QueryBuilderTest.php

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -634,27 +634,28 @@ public function testArrayMergeWithTypeWithOrdering(
634634

635635
$stringParam = new Param('[4,3,5]', DataType::STRING);
636636
$arrayMerge = (new ArrayMerge(
637-
"'[2,1,3]'",
638-
[6, 5, 7],
637+
[2, 1, 3],
638+
new ArrayValue([6, 5, 7]),
639639
$stringParam,
640640
self::getDb()->select(new ArrayValue([10, 9])),
641641
))->type($type)->ordered();
642642
$params = [];
643643

644644
$this->assertSame(
645645
'(SELECT JSON_ARRAYAGG(value ORDER BY value) AS value FROM ('
646-
. "SELECT value FROM JSON_TABLE('[2,1,3]', '$[*]' COLUMNS(value $operandType PATH '$'))"
647-
. " UNION SELECT value FROM JSON_TABLE(:qp0, '$[*]' COLUMNS(value $operandType PATH '$'))"
646+
. "SELECT value FROM JSON_TABLE(:qp0, '$[*]' COLUMNS(value $operandType PATH '$'))"
648647
. " UNION SELECT value FROM JSON_TABLE(:qp1, '$[*]' COLUMNS(value $operandType PATH '$'))"
649-
. " UNION SELECT value FROM JSON_TABLE((SELECT :qp2 FROM DUAL), '$[*]' COLUMNS(value $operandType PATH '$'))"
648+
. " UNION SELECT value FROM JSON_TABLE(:qp2, '$[*]' COLUMNS(value $operandType PATH '$'))"
649+
. " UNION SELECT value FROM JSON_TABLE((SELECT :qp3 FROM DUAL), '$[*]' COLUMNS(value $operandType PATH '$'))"
650650
. '))',
651651
$qb->buildExpression($arrayMerge, $params)
652652
);
653653
Assert::arraysEquals(
654654
[
655-
':qp0' => new Param('[6,5,7]', DataType::STRING),
656-
':qp1' => $stringParam,
657-
':qp2' => new Param('[10,9]', DataType::STRING),
655+
':qp0' => new Param('[2,1,3]', DataType::STRING),
656+
':qp1' => new Param('[6,5,7]', DataType::STRING),
657+
':qp2' => $stringParam,
658+
':qp3' => new Param('[10,9]', DataType::STRING),
658659
],
659660
$params,
660661
);

0 commit comments

Comments
 (0)