Ejemplo n.º 1
0
 public function testGetInverseForeignKey()
 {
     $database = $this->getDatabaseMock('bookstore');
     $platform = $this->getPlatformMock(true);
     $foreignTable = $this->getTableMock('authors');
     $localTable = $this->getTableMock('books', ['platform' => $platform, 'database' => $database]);
     $database->expects($this->any())->method('getTable')->with($this->equalTo('bookstore.authors'))->will($this->returnValue($foreignTable));
     $inversedFk = new ForeignKey();
     $inversedFk->addReference('id', 'author_id');
     $inversedFk->setTable($localTable);
     $inversedFk->setForeignSchemaName('bookstore');
     $inversedFk->setForeignTableCommonName('authors');
     $foreignTable->expects($this->any())->method('getForeignKeys')->will($this->returnValue([$inversedFk]));
     $fk = new ForeignKey();
     $fk->setTable($localTable);
     $fk->addReference('author_id', 'id');
     $fk->setForeignSchemaName('bookstore');
     $fk->setForeignTableCommonName('authors');
     $this->assertSame('authors', $fk->getForeignTableCommonName());
     $this->assertSame('bookstore.authors', $fk->getForeignTableName());
     $this->assertInstanceOf('Propel\\Generator\\Model\\Table', $fk->getForeignTable());
     $this->assertSame($inversedFk, $fk->getInverseFK());
     $this->assertTrue($fk->isMatchedByInverseFK());
 }