new tests for relation parser
This commit is contained in:
parent
919da9e6c6
commit
d79e4d0b41
@ -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');
|
||||
|
Loading…
Reference in New Issue
Block a user