Commit d79e4d0b authored by zYne's avatar zYne

new tests for relation parser

parent 919da9e6
......@@ -37,23 +37,52 @@ class Doctrine_Relation_Parser_TestCase extends Doctrine_UnitTestCase
$r = new Doctrine_Relation_Parser($this->conn->getTable('User'));
$p = array('type' => Doctrine_Relation::ONE,
'local' => 'email_id');
'local' => 'email_id',
'definer' => 'User');
$r->bind('Email', $p);
$this->assertEqual($r->getPendingRelation('Email'), array('type' => Doctrine_Relation::ONE,
'local' => 'email_id',
'class' => 'Email',
'alias' => 'Email'
'alias' => 'Email',
'definer' => 'User'
));
}
public function testBindThrowsExceptionIfDefinerNotSet()
{
$r = new Doctrine_Relation_Parser($this->conn->getTable('User'));
$p = array('type' => Doctrine_Relation::ONE,
'local' => 'email_id');
try {
$r->bind('Email', $p);
$this->fail('should throw exception');
} catch(Doctrine_Relation_Exception $e) {
$this->pass();
}
}
public function testBindThrowsExceptionIfTypeNotSet()
{
$r = new Doctrine_Relation_Parser($this->conn->getTable('User'));
$p = array('local' => 'email_id',
'definer' => 'User');
try {
$r->bind('Email', $p);
$this->fail('should throw exception');
} catch(Doctrine_Relation_Exception $e) {
$this->pass();
}
}
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'));
'foreign' => 'entity_id',
'definer' => 'Entity'));
$this->assertEqual($d['local'], 'id');
}
......@@ -63,7 +92,8 @@ class Doctrine_Relation_Parser_TestCase extends Doctrine_UnitTestCase
$d = $r->completeDefinition(array('class' => 'Email',
'type' => Doctrine_Relation::ONE,
'foreign' => 'id'));
'foreign' => 'id',
'definer' => 'User'));
$this->assertEqual($d['local'], 'email_id');
}
......@@ -73,9 +103,10 @@ class Doctrine_Relation_Parser_TestCase extends Doctrine_UnitTestCase
$d = $r->completeDefinition(array('class' => 'Phonenumber',
'type' => Doctrine_Relation::MANY,
'local' => 'id'));
'local' => 'id',
'definer' => 'Entity'));
$this->assertEqual($d['foreign'], 'user_id');
$this->assertEqual($d['foreign'], 'entity_id');
}
public function testRelationParserSupportsForeignColumnGuessing2()
{
......@@ -83,7 +114,8 @@ class Doctrine_Relation_Parser_TestCase extends Doctrine_UnitTestCase
$d = $r->completeDefinition(array('class' => 'Email',
'type' => Doctrine_Relation::ONE,
'local' => 'email_id'));
'local' => 'email_id',
'definer' => 'User'));
$this->assertEqual($d['foreign'], 'id');
}
......@@ -92,7 +124,8 @@ class Doctrine_Relation_Parser_TestCase extends Doctrine_UnitTestCase
$r = new Doctrine_Relation_Parser($this->conn->getTable('User'));
$d = $r->completeDefinition(array('class' => 'Email',
'type' => Doctrine_Relation::MANY));
'type' => Doctrine_Relation::MANY,
'definer' => 'User'));
$this->assertEqual($d['foreign'], 'id');
$this->assertEqual($d['local'], 'email_id');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment