Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorThomas Steur <tsteur@users.noreply.github.com>2018-07-23 04:41:13 +0300
committerdiosmosis <diosmosis@users.noreply.github.com>2018-07-23 04:41:13 +0300
commit5664e5631ea0e597f9ed26bbbe9ef315a1844c42 (patch)
tree23808d69bae438e5d247e32b6e93fc23b553a97f /tests
parent6e9f6ea2cf60f8356955a6d9bef89cc957279a6b (diff)
Fix array table may not be joined correctly due to table sort issue (#13186)
Diffstat (limited to 'tests')
-rw-r--r--tests/PHPUnit/Unit/DataAccess/LogQueryBuilder/JoinGeneratorTest.php28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/PHPUnit/Unit/DataAccess/LogQueryBuilder/JoinGeneratorTest.php b/tests/PHPUnit/Unit/DataAccess/LogQueryBuilder/JoinGeneratorTest.php
index 0903098c05..4e211147a3 100644
--- a/tests/PHPUnit/Unit/DataAccess/LogQueryBuilder/JoinGeneratorTest.php
+++ b/tests/PHPUnit/Unit/DataAccess/LogQueryBuilder/JoinGeneratorTest.php
@@ -168,6 +168,34 @@ class JoinGeneratorTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($expected, $generator->getJoinString());
}
+ public function test_generate_getJoinString_manuallyJoinedAlreadyPlusCustomJoinButAlsoLeftNeedsKeepOrder()
+ {
+ $generator = $this->generate(array(
+ 'log_visit',
+ array('table' => 'log_link_visit_action', 'join' => 'RIGHT JOIN'),
+ 'log_action'
+ ));
+
+ $expected = 'log_visit AS log_visit ';
+ $expected .= 'RIGHT JOIN log_link_visit_action AS log_link_visit_action ON log_link_visit_action.idvisit = log_visit.idvisit ';
+ $expected .= 'LEFT JOIN log_action AS log_action ON log_link_visit_action.idaction_url = log_action.idaction';
+ $this->assertEquals($expected, $generator->getJoinString());
+ }
+
+ public function test_generate_getJoinString_manuallyJoinedAlreadyPlusCustomJoinAtEndButAlsoLeftNeedsKeepOrder()
+ {
+ $generator = $this->generate(array(
+ 'log_visit',
+ 'log_action',
+ array('table' => 'log_link_visit_action', 'join' => 'RIGHT JOIN'),
+ ));
+
+ $expected = 'log_visit AS log_visit ';
+ $expected .= 'RIGHT JOIN log_link_visit_action AS log_link_visit_action ON log_link_visit_action.idvisit = log_visit.idvisit ';
+ $expected .= 'LEFT JOIN log_action AS log_action ON log_link_visit_action.idaction_url = log_action.idaction';
+ $this->assertEquals($expected, $generator->getJoinString());
+ }
+
public function test_generate_getJoinString_manualJoin()
{
$generator = $this->generate(array(