1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-16 11:36:08 +02:00

Fixes #4111 Inconsistent results under some circumstances with e107::getDb()->retrieve(). Tests have been added to this commit.

This commit is contained in:
Cameron
2020-03-13 15:06:26 -07:00
parent eb96f14fe9
commit 5471a84746
3 changed files with 30 additions and 7 deletions

View File

@@ -218,10 +218,26 @@ abstract class e_db_abstractTest extends \Codeception\Test\Unit
public function testRetrieve()
{
// 'single' field value mode.
$expected = 'e107';
$result = $this->db->retrieve('user', 'user_name', 'user_id = 1');
$this->assertEquals($expected,$result);
$result = $this->db->retrieve("SELECT user_name FROM #user WHERE user_id = 1");
$this->assertEquals($expected,$result);
// 'one' row mode.
$expected = array ('user_id' => '1', 'user_name' => 'e107', );
$result = $this->db->retrieve('user', 'user_id, user_name', 'user_id = 1');
$this->assertEquals($expected,$result);
$result = $this->db->retrieve("SELECT user_id, user_name FROM #user WHERE user_id = 1");
$this->assertEquals($expected,$result);
$result = $this->db->retrieve("SELECT user_id, user_name FROM #user WHERE user_id = 1");
$this->assertEquals($expected,$result);
$result = $this->db->retrieve('user', 'missing_field, user_name', 'user_id = 1');
$this->assertEquals(array(),$result);
@@ -233,7 +249,7 @@ abstract class e_db_abstractTest extends \Codeception\Test\Unit
$result = $this->db->retrieve(null);
$this->assertEquals($expected,$result);
// 'multi' row mode.
$expected = array ( 0 => array ( 'user_id' => '1', 'user_name' => 'e107', ),);
$result = $this->db->retrieve('user', 'user_id, user_name', 'user_id = 1', true);
$this->assertEquals($expected,$result);