Merge pull request #11078 from creative-commoners/pulls/5/mariadb-unit-test

MNT Add sort order to unit test so it passes with mariadb
This commit is contained in:
Sabina Talipova 2023-11-29 08:32:12 +13:00 committed by GitHub
commit 654b793780
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1174,13 +1174,19 @@ class SQLSelectTest extends SapphireTest
'name' => 'hierarchy',
'query' => (
new SQLSelect(
['parent_id' => '"SQLSelectTestCteRecursive"."ParentID"'],
[
'parent_id' => '"SQLSelectTestCteRecursive"."ParentID"',
'sort_order' => 0,
],
"SQLSelectTestCteRecursive",
[['"SQLSelectTestCteRecursive"."ParentID" > 0 AND "SQLSelectTestCteRecursive"."Title" = ?' => 'child of child1']]
)
)->addUnion(
new SQLSelect(
'"SQLSelectTestCteRecursive"."ParentID"',
[
'"SQLSelectTestCteRecursive"."ParentID"',
'sort_order + 1',
],
// Note that we select both the CTE and the real table in the FROM statement.
// We could also select one of these and JOIN on the other.
['"hierarchy"', '"SQLSelectTestCteRecursive"'],
@ -1194,6 +1200,7 @@ class SQLSelectTest extends SapphireTest
'selectFrom' => '"SQLSelectTestCteRecursive"',
'extraManipulations' => [
'addInnerJoin' => ['hierarchy', '"SQLSelectTestCteRecursive"."ID" = "hierarchy"."parent_id"'],
'setOrderBy' => ['sort_order', 'ASC'],
],
'expected' => [
['Title' => 'child1'],
@ -1205,24 +1212,31 @@ class SQLSelectTest extends SapphireTest
'name' => 'hierarchy',
'query' => (
new SQLSelect(
'"SQLSelectTestCteRecursive"."ParentID"',
[
'"SQLSelectTestCteRecursive"."ParentID"',
0
],
"SQLSelectTestCteRecursive",
[['"SQLSelectTestCteRecursive"."ParentID" > 0 AND "SQLSelectTestCteRecursive"."Title" = ?' => 'child of child1']]
)
)->addUnion(
new SQLSelect(
'"SQLSelectTestCteRecursive"."ParentID"',
[
'"SQLSelectTestCteRecursive"."ParentID"',
'sort_order + 1'
],
['"hierarchy"', '"SQLSelectTestCteRecursive"'],
['"SQLSelectTestCteRecursive"."ParentID" > 0 AND "SQLSelectTestCteRecursive"."ID" = "hierarchy"."parent_id"']
),
SQLSelect::UNION_ALL
),
'cteFields' => ['parent_id'],
'cteFields' => ['parent_id', 'sort_order'],
'recursive' => true,
'selectFields' => ['"SQLSelectTestCteRecursive"."Title"'],
'selectFrom' => '"SQLSelectTestCteRecursive"',
'extraManipulations' => [
'addInnerJoin' => ['hierarchy', '"SQLSelectTestCteRecursive"."ID" = "hierarchy"."parent_id"'],
'setOrderBy' => ['sort_order', 'ASC'],
],
'expected' => [
['Title' => 'child1'],