dblayeroo : review the join process and add the unit tests for it
git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@3495 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
@@ -360,4 +360,150 @@ class test_dblayeroo_{ENGINE} extends PHPUnit_Framework_TestCase
|
||||
),
|
||||
), $res);
|
||||
}
|
||||
|
||||
// JOINS
|
||||
public function test_insertJoin1 ()
|
||||
{
|
||||
$db1 = $this->db1 ();
|
||||
$db1->insert()
|
||||
->setValues(array ("group"=>"group2",
|
||||
"object"=>"object",
|
||||
"where"=>"where"))
|
||||
->execute ();
|
||||
$db2 = $this->db2 ();
|
||||
$db2->setForeignObj ($db1);
|
||||
$res = $db2->insert()
|
||||
->setValues(array ("gecos"=>"name2",
|
||||
"password"=>"pwd2",
|
||||
"group"=>"group1"))
|
||||
->execute ();
|
||||
$res = $db2->insert()
|
||||
->setValues(array ("gecos"=>"name3",
|
||||
"password"=>"pwd3",
|
||||
"group"=>"group1"))
|
||||
->execute ();
|
||||
$res = $db2->insert()
|
||||
->setValues(array ("gecos"=>"name4",
|
||||
"password"=>"pwd4",
|
||||
"group"=>"group1"))
|
||||
->execute ();
|
||||
$db1->disconnect ();
|
||||
$db2->disconnect ();
|
||||
}
|
||||
|
||||
public function test_innerJoin1 ()
|
||||
{
|
||||
$db1 = $this->db1 ();
|
||||
$db2 = $this->db2 ();
|
||||
$res = $db2->select ()
|
||||
->joinInner ($db1, array ("group"=>"group"))
|
||||
->execute ();
|
||||
$db1->disconnect ();
|
||||
$db2->disconnect ();
|
||||
$this->assertSame (array (
|
||||
array (
|
||||
'usersoo.uid' => 1,
|
||||
'usersoo.gecos' => 'name',
|
||||
'usersoo.password' => 'toto',
|
||||
'usersoo.group' => 'group1',
|
||||
'groupedoo.group' => 'group1',
|
||||
'groupedoo.object' => 'object',
|
||||
'groupedoo.where' => 'where',
|
||||
'groupedoo.with space' => NULL,
|
||||
),
|
||||
array (
|
||||
'usersoo.uid' => 4,
|
||||
'usersoo.gecos' => 'name2',
|
||||
'usersoo.password' => 'pwd2',
|
||||
'usersoo.group' => 'group1',
|
||||
'groupedoo.group' => 'group1',
|
||||
'groupedoo.object' => 'object',
|
||||
'groupedoo.where' => 'where',
|
||||
'groupedoo.with space' => NULL,
|
||||
),
|
||||
array (
|
||||
'usersoo.uid' => 5,
|
||||
'usersoo.gecos' => 'name3',
|
||||
'usersoo.password' => 'pwd3',
|
||||
'usersoo.group' => 'group1',
|
||||
'groupedoo.group' => 'group1',
|
||||
'groupedoo.object' => 'object',
|
||||
'groupedoo.where' => 'where',
|
||||
'groupedoo.with space' => NULL,
|
||||
),
|
||||
array (
|
||||
'usersoo.uid' => 6,
|
||||
'usersoo.gecos' => 'name4',
|
||||
'usersoo.password' => 'pwd4',
|
||||
'usersoo.group' => 'group1',
|
||||
'groupedoo.group' => 'group1',
|
||||
'groupedoo.object' => 'object',
|
||||
'groupedoo.where' => 'where',
|
||||
'groupedoo.with space' => NULL,
|
||||
),
|
||||
), $res);
|
||||
}
|
||||
|
||||
public function test_leftJoin2 ()
|
||||
{
|
||||
$db1 = $this->db1 ();
|
||||
$db2 = $this->db2 ();
|
||||
$res = $db1->select ()
|
||||
->joinLeft ($db2, array ("group"=>"group"))
|
||||
->execute ();
|
||||
$db1->disconnect ();
|
||||
$db2->disconnect ();
|
||||
$this->assertSame (array (
|
||||
array (
|
||||
'groupedoo.group' => 'group1',
|
||||
'groupedoo.object' => 'object',
|
||||
'groupedoo.where' => 'where',
|
||||
'groupedoo.with space' => NULL,
|
||||
'usersoo.uid' => 1,
|
||||
'usersoo.gecos' => 'name',
|
||||
'usersoo.password' => 'toto',
|
||||
'usersoo.group' => 'group1',
|
||||
),
|
||||
array (
|
||||
'groupedoo.group' => 'group1',
|
||||
'groupedoo.object' => 'object',
|
||||
'groupedoo.where' => 'where',
|
||||
'groupedoo.with space' => NULL,
|
||||
'usersoo.uid' => 4,
|
||||
'usersoo.gecos' => 'name2',
|
||||
'usersoo.password' => 'pwd2',
|
||||
'usersoo.group' => 'group1',
|
||||
),
|
||||
array (
|
||||
'groupedoo.group' => 'group1',
|
||||
'groupedoo.object' => 'object',
|
||||
'groupedoo.where' => 'where',
|
||||
'groupedoo.with space' => NULL,
|
||||
'usersoo.uid' => 5,
|
||||
'usersoo.gecos' => 'name3',
|
||||
'usersoo.password' => 'pwd3',
|
||||
'usersoo.group' => 'group1',
|
||||
),
|
||||
array (
|
||||
'groupedoo.group' => 'group1',
|
||||
'groupedoo.object' => 'object',
|
||||
'groupedoo.where' => 'where',
|
||||
'groupedoo.with space' => NULL,
|
||||
'usersoo.uid' => 6,
|
||||
'usersoo.gecos' => 'name4',
|
||||
'usersoo.password' => 'pwd4',
|
||||
'usersoo.group' => 'group1',
|
||||
),
|
||||
array (
|
||||
'groupedoo.group' => 'group2',
|
||||
'groupedoo.object' => 'object',
|
||||
'groupedoo.where' => 'where',
|
||||
'groupedoo.with space' => NULL,
|
||||
'usersoo.uid' => 0,
|
||||
'usersoo.gecos' => NULL,
|
||||
'usersoo.password' => NULL,
|
||||
'usersoo.group' => NULL,
|
||||
),
|
||||
), $res);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user