1
0
mirror of synced 2025-02-03 05:49:25 +03:00

#1572 - test coverage - interfaces should also resolve to target entities when in DQL

This commit is contained in:
Marco Pivetta 2015-12-11 21:30:19 +01:00
parent e390dbd5ba
commit 0c6b510c2a

View File

@ -9,19 +9,19 @@ use Doctrine\ORM\Events;
class ResolveTargetEntityListenerTest extends \Doctrine\Tests\OrmTestCase class ResolveTargetEntityListenerTest extends \Doctrine\Tests\OrmTestCase
{ {
/** /**
* @var EntityManager * @var \Doctrine\ORM\EntityManager
*/ */
private $em = null; private $em;
/** /**
* @var ResolveTargetEntityListener * @var ResolveTargetEntityListener
*/ */
private $listener = null; private $listener;
/** /**
* @var ClassMetadataFactory * @var ClassMetadataFactory
*/ */
private $factory = null; private $factory;
public function setUp() public function setUp()
{ {
@ -106,6 +106,32 @@ class ResolveTargetEntityListenerTest extends \Doctrine\Tests\OrmTestCase
$this->assertSame('Doctrine\Tests\ORM\Tools\TargetEntity', $meta['targetEntity']); $this->assertSame('Doctrine\Tests\ORM\Tools\TargetEntity', $meta['targetEntity']);
$this->assertEquals(array('resolvetargetentity_id', 'targetinterface_id'), $meta['joinTableColumns']); $this->assertEquals(array('resolvetargetentity_id', 'targetinterface_id'), $meta['joinTableColumns']);
} }
/**
* @group 1572
* @group functional
*
* @coversNothing
*/
public function testDoesResolveTargetEntitiesInDQLAlsoWithInterfaces()
{
$evm = $this->em->getEventManager();
$this->listener->addResolveTargetEntity(
'Doctrine\Tests\ORM\Tools\ResolveTargetInterface',
'Doctrine\Tests\ORM\Tools\ResolveTargetEntity',
array()
);
$evm->addEventSubscriber($this->listener);
$this->assertStringMatchesFormat(
'SELECT%AFROM ResolveTargetEntity%A',
$this
->em
->createQuery('SELECT f FROM Doctrine\Tests\ORM\Tools\ResolveTargetInterface f')
->getSQL()
);
}
} }
interface ResolveTargetInterface interface ResolveTargetInterface