diff options
Diffstat (limited to 'vendor/j4mie/idiorm/test/ConfigTest.php')
-rw-r--r-- | vendor/j4mie/idiorm/test/ConfigTest.php | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/vendor/j4mie/idiorm/test/ConfigTest.php b/vendor/j4mie/idiorm/test/ConfigTest.php new file mode 100644 index 000000000..c6f4631ad --- /dev/null +++ b/vendor/j4mie/idiorm/test/ConfigTest.php @@ -0,0 +1,125 @@ +<?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::reset_config(); + ORM::reset_db(); + } + + 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')); + ORM::configure('logging', true); + } + + 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, + 'logger' => null, + 'caching' => false, + 'caching_auto_clear' => false, + 'return_result_sets' => false, + 'limit_clause_style' => 'limit', + ); + $this->assertEquals($expected, ORM::get_config()); + } + +} |