From 83e00d5010e8b1ddb1856126766d2a7f8debc2fa Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Sat, 7 Oct 2017 12:52:34 +0200 Subject: [PATCH] #6759 cleaning up test case, using new models from the isolated namespace --- ...eToOneInverseSideLoadAfterDqlQueryTest.php | 102 ++++++------------ 1 file changed, 30 insertions(+), 72 deletions(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/OneToOneInverseSideLoadAfterDqlQueryTest.php b/tests/Doctrine/Tests/ORM/Functional/OneToOneInverseSideLoadAfterDqlQueryTest.php index 8bfadc312..77cb937f4 100644 --- a/tests/Doctrine/Tests/ORM/Functional/OneToOneInverseSideLoadAfterDqlQueryTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/OneToOneInverseSideLoadAfterDqlQueryTest.php @@ -1,112 +1,70 @@ _schemaTool->createSchema([ - $this->_em->getClassMetadata(Bus::class), - $this->_em->getClassMetadata(BusOwner::class), + $this->_em->getClassMetadata(OwningSide::class), + $this->_em->getClassMetadata(InverseSide::class), ]); } catch(ToolsException $e) { // ignored } } + /** + * @group #6759 + */ public function testInverseSideOneToOneLoadedAfterDqlQuery(): void { - $owner = new BusOwner('Alexander'); - $bus = new Bus($owner); + $owner = new OwningSide(); + $inverse = new InverseSide(); - $this->_em->persist($bus); + $owner->id = 'owner'; + $inverse->id = 'inverse'; + $owner->inverse = $inverse; + $inverse->owning = $owner; + + $this->_em->persist($owner); + $this->_em->persist($inverse); $this->_em->flush(); $this->_em->clear(); - $bus = $this + /* @var $fetchedInverse InverseSide */ + $fetchedInverse = $this ->_em ->createQueryBuilder() - ->select('to') - ->from(BusOwner::class, 'to') - ->andWhere('to.id = :id') - ->setParameter('id', $owner->id) + ->select('inverse') + ->from(InverseSide::class, 'inverse') + ->andWhere('inverse.id = :id') + ->setParameter('id', 'inverse') ->getQuery() - ->getResult(); + ->getSingleResult(); + + self::assertInstanceOf(InverseSide::class, $fetchedInverse); + self::assertInstanceOf(OwningSide::class, $fetchedInverse->owning); $this->assertSQLEquals( - 'SELECT b0_.id AS id_0, b0_.name AS name_1 FROM BusOwner b0_ WHERE b0_.id = ?', + 'select o0_.id as id_0 from one_to_one_inverse_side_load_inverse o0_ where o0_.id = ?', $this->_sqlLoggerStack->queries[$this->_sqlLoggerStack->currentQuery - 1]['sql'] ); $this->assertSQLEquals( - 'SELECT t0.id AS id_1, t0.owner AS owner_2 FROM Bus t0 WHERE t0.owner = ?', + 'select t0.id as id_1, t0.inverse as inverse_2 from one_to_one_inverse_side_load_owning t0 WHERE t0.inverse = ?', $this->_sqlLoggerStack->queries[$this->_sqlLoggerStack->currentQuery]['sql'] ); } - -} - - -/** - * @Entity - */ -class Bus -{ - /** - * @id @column(type="integer") @generatedValue - * @var int - */ - public $id; - /** - * Owning side - * @OneToOne(targetEntity="BusOwner", inversedBy="bus", cascade={"persist"}) - * @JoinColumn(nullable=false, name="owner") - */ - public $owner; - - public function __construct(BusOwner $owner) - { - $this->owner = $owner; - } - -} - -/** - * @Entity - */ -class BusOwner -{ - /** - * @Id - * @Column(type="integer") - * @GeneratedValue - */ - public $id; - - /** @column(type="string") */ - public $name; - /** - * Inverse side - * @OneToOne(targetEntity="Bus", mappedBy="owner") - */ - public $bus; - - public function __construct($name) - { - $this->name = $name; - } - - public function setBus(Bus $t) - { - $this->bus = $t; - } }