diff --git a/tests/RawSqlTestCase.php b/tests/RawSqlTestCase.php index b0b4a3a72..e7ceb818d 100644 --- a/tests/RawSqlTestCase.php +++ b/tests/RawSqlTestCase.php @@ -161,11 +161,12 @@ class Doctrine_RawSql_TestCase extends Doctrine_UnitTestCase $this->assertTrue(is_numeric($coll[3]->id)); $this->assertTrue(is_numeric($coll[7]->id)); } - public function testMethodOverloading() + public function testConvenienceMethods() { $query = new Doctrine_RawSql($this->connection); $query->select('{entity.name}')->from('entity'); $query->addComponent('entity', 'User'); + $coll = $query->execute(); $this->assertEqual($coll->count(), 8); diff --git a/tests/Relation/ParserTestCase.php b/tests/Relation/ParserTestCase.php index bf4d97687..c40db5127 100644 --- a/tests/Relation/ParserTestCase.php +++ b/tests/Relation/ParserTestCase.php @@ -47,4 +47,54 @@ class Doctrine_Relation_Parser_TestCase extends Doctrine_UnitTestCase 'alias' => 'Email' )); } + public function testRelationParserSupportsLocalColumnGuessing() + { + $r = new Doctrine_Relation_Parser($this->conn->getTable('User')); + + $d = $r->completeDefinition(array('class' => 'Phonenumber', + 'type' => Doctrine_Relation::MANY, + 'foreign' => 'user_id')); + + $this->assertEqual($d['local'], 'id'); + } + public function testRelationParserSupportsLocalColumnGuessing2() + { + $r = new Doctrine_Relation_Parser($this->conn->getTable('User')); + + $d = $r->completeDefinition(array('class' => 'Email', + 'type' => Doctrine_Relation::ONE, + 'foreign' => 'id')); + + $this->assertEqual($d['local'], 'email_id'); + } + public function testRelationParserSupportsForeignColumnGuessing() + { + $r = new Doctrine_Relation_Parser($this->conn->getTable('User')); + + $d = $r->completeDefinition(array('class' => 'Phonenumber', + 'type' => Doctrine_Relation::MANY, + 'local' => 'id')); + + $this->assertEqual($d['foreign'], 'user_id'); + } + public function testRelationParserSupportsForeignColumnGuessing2() + { + $r = new Doctrine_Relation_Parser($this->conn->getTable('User')); + + $d = $r->completeDefinition(array('class' => 'Email', + 'type' => Doctrine_Relation::ONE, + 'local' => 'email_id')); + + $this->assertEqual($d['foreign'], 'id'); + } + public function testRelationParserSupportsGuessingOfBothColumns() + { + $r = new Doctrine_Relation_Parser($this->conn->getTable('User')); + + $d = $r->completeDefinition(array('class' => 'Email', + 'type' => Doctrine_Relation::MANY)); + + $this->assertEqual($d['foreign'], 'id'); + $this->assertEqual($d['local'], 'email_id'); + } }