diff options
author | Simon Holywell <[email protected]> | 2013-08-28 16:33:07 +0100 |
---|---|---|
committer | Simon Holywell <[email protected]> | 2013-08-28 16:33:07 +0100 |
commit | 51c1f4762b26b99a5a27d1f9ab76d70396c8d669 (patch) | |
tree | 3ee444611a52d17a63a4f723582ca22bd2e89785 /test | |
parent | 32b222006ccf980e354cb9e5a34d7a91d94b3a78 (diff) |
Repair state after completing test
Diffstat (limited to 'test')
-rw-r--r-- | test/ConfigTest.php | 2 | ||||
-rw-r--r-- | test/ConfigTest53.php | 123 |
2 files changed, 125 insertions, 0 deletions
diff --git a/test/ConfigTest.php b/test/ConfigTest.php index 43fe6fa..7644181 100644 --- a/test/ConfigTest.php +++ b/test/ConfigTest.php @@ -101,6 +101,7 @@ class ConfigTest extends PHPUnit_Framework_TestCase { $this->assertTrue(ORM::get_config('logging')); ORM::configure('logging', false); $this->assertFalse(ORM::get_config('logging')); + ORM::configure('logging', true); } public function testGetConfigArray() { @@ -114,6 +115,7 @@ class ConfigTest extends PHPUnit_Framework_TestCase { 'driver_options' => null, 'identifier_quote_character' => '`', 'logging' => true, + 'logger' => null, 'caching' => false, 'return_result_sets' => false, ); diff --git a/test/ConfigTest53.php b/test/ConfigTest53.php new file mode 100644 index 0000000..43fe6fa --- /dev/null +++ b/test/ConfigTest53.php @@ -0,0 +1,123 @@ +<?php + +class ConfigTest extends PHPUnit_Framework_TestCase { + + public function setUp() { + // Enable logging + ORM::configure('logging', true); + + // Set up the dummy database connection + $db = new MockPDO('sqlite::memory:'); + ORM::set_db($db); + + ORM::configure('id_column', 'primary_key'); + } + + public function tearDown() { + ORM::configure('logging', false); + ORM::set_db(null); + + ORM::configure('id_column', 'id'); + } + + protected function setUpIdColumnOverrides() { + ORM::configure('id_column_overrides', array( + 'widget' => 'widget_id', + 'widget_handle' => 'widget_handle_id', + )); + } + + protected function tearDownIdColumnOverrides() { + ORM::configure('id_column_overrides', array()); + } + + public function testSettingIdColumn() { + ORM::for_table('widget')->find_one(5); + $expected = "SELECT * FROM `widget` WHERE `primary_key` = '5' LIMIT 1"; + $this->assertEquals($expected, ORM::get_last_query()); + } + + public function testSettingIdColumnOverridesOne() { + $this->setUpIdColumnOverrides(); + + ORM::for_table('widget')->find_one(5); + $expected = "SELECT * FROM `widget` WHERE `widget_id` = '5' LIMIT 1"; + $this->assertEquals($expected, ORM::get_last_query()); + + $this->tearDownIdColumnOverrides(); + } + + public function testSettingIdColumnOverridesTwo() { + $this->setUpIdColumnOverrides(); + + ORM::for_table('widget_handle')->find_one(5); + $expected = "SELECT * FROM `widget_handle` WHERE `widget_handle_id` = '5' LIMIT 1"; + $this->assertEquals($expected, ORM::get_last_query()); + + $this->tearDownIdColumnOverrides(); + } + + public function testSettingIdColumnOverridesThree() { + $this->setUpIdColumnOverrides(); + + ORM::for_table('widget_nozzle')->find_one(5); + $expected = "SELECT * FROM `widget_nozzle` WHERE `primary_key` = '5' LIMIT 1"; + $this->assertEquals($expected, ORM::get_last_query()); + + $this->tearDownIdColumnOverrides(); + } + + public function testInstanceIdColumnOne() { + $this->setUpIdColumnOverrides(); + + ORM::for_table('widget')->use_id_column('new_id')->find_one(5); + $expected = "SELECT * FROM `widget` WHERE `new_id` = '5' LIMIT 1"; + $this->assertEquals($expected, ORM::get_last_query()); + + $this->tearDownIdColumnOverrides(); + } + + public function testInstanceIdColumnTwo() { + $this->setUpIdColumnOverrides(); + + ORM::for_table('widget_handle')->use_id_column('new_id')->find_one(5); + $expected = "SELECT * FROM `widget_handle` WHERE `new_id` = '5' LIMIT 1"; + $this->assertEquals($expected, ORM::get_last_query()); + + $this->tearDownIdColumnOverrides(); + } + + public function testInstanceIdColumnThree() { + $this->setUpIdColumnOverrides(); + + ORM::for_table('widget_nozzle')->use_id_column('new_id')->find_one(5); + $expected = "SELECT * FROM `widget_nozzle` WHERE `new_id` = '5' LIMIT 1"; + $this->assertEquals($expected, ORM::get_last_query()); + + $this->tearDownIdColumnOverrides(); + } + + public function testGetConfig() { + $this->assertTrue(ORM::get_config('logging')); + ORM::configure('logging', false); + $this->assertFalse(ORM::get_config('logging')); + } + + public function testGetConfigArray() { + $expected = array( + 'connection_string' => 'sqlite::memory:', + 'id_column' => 'primary_key', + 'id_column_overrides' => array(), + 'error_mode' => PDO::ERRMODE_EXCEPTION, + 'username' => null, + 'password' => null, + 'driver_options' => null, + 'identifier_quote_character' => '`', + 'logging' => true, + 'caching' => false, + 'return_result_sets' => false, + ); + $this->assertEquals($expected, ORM::get_config()); + } + +} |