From a6806ff553fc27d701f739b8552fdab1d1cdaa4b Mon Sep 17 00:00:00 2001 From: Jeremy Bush Date: Thu, 21 Apr 2011 07:21:51 -0500 Subject: [PATCH] Add more tests for states --- classes/model/foo.php | 2 +- tests/test_automodeler.php | 2 ++ tests/test_automodeler_orm.php | 19 +++++++++++++++++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/classes/model/foo.php b/classes/model/foo.php index 1736e8c..8fbbfb0 100644 --- a/classes/model/foo.php +++ b/classes/model/foo.php @@ -10,7 +10,7 @@ class Model_Foo extends AutoModeler_ORM { - protected $_table_name = 'foobars'; + protected $_table_name = 'foos'; protected $_data = array( 'id' => '', diff --git a/tests/test_automodeler.php b/tests/test_automodeler.php index ff4af8a..369b4e9 100644 --- a/tests/test_automodeler.php +++ b/tests/test_automodeler.php @@ -194,6 +194,8 @@ public function test_load_no_limit() $result = Model::factory('testuser')->load(NULL, 2); $this->assertTrue($result instanceof Database_Result); $this->assertTrue(count($result) == 2); + + $this->assertSame(AutoModeler::STATE_LOADED, $result->current()->state()); } /** diff --git a/tests/test_automodeler_orm.php b/tests/test_automodeler_orm.php index cfa2cb6..31f3fe5 100644 --- a/tests/test_automodeler_orm.php +++ b/tests/test_automodeler_orm.php @@ -20,7 +20,7 @@ * `name` VARCHAR( 50 ) NOT NULL * ) ENGINE = INNODB; * - * CREATE TABLE `foobars` ( + * CREATE TABLE `foos` ( * `id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY , * `name` VARCHAR( 50 ) NOT NULL * ) ENGINE = INNODB; @@ -133,6 +133,18 @@ public function provider_find_parent() ); } + /** + * Tests __get() with a relationship + * + * @return null + */ + public function test_get() + { + $user = new Model_ORMUser(1); + $this->assertInstanceOf('Model_Foo', $user->foo); + $this->assertSame(AutoModeler::STATE_LOADED, $user->foo->state()); + } + /** * @dataProvider provider_find_parent * @@ -199,7 +211,10 @@ public function test_find_related($model_name, $model_id, $related_model, $expec { $model = new $model_name($model_id); - $this->assertSame($expected_count, count($model->find_related($related_model))); + $related = $model->find_related($related_model); + + $this->assertSame($expected_count, count($related)); + $this->assertSame(AutoModeler::STATE_LOADED, $related->current()->state()); } public function provider_find_related_where()