Skip to content

Commit

Permalink
doctrine#1277 DDC-3346 DDC-3531 - additional tests for LIMIT and OFFS…
Browse files Browse the repository at this point in the history
…ET repository API (must not hydrate collections)
  • Loading branch information
Ocramius committed Jan 23, 2015
1 parent 5387d81 commit d8c6fb4
Showing 1 changed file with 55 additions and 9 deletions.
64 changes: 55 additions & 9 deletions tests/Doctrine/Tests/ORM/Functional/Ticket/DDC3346Test.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public function setUp()
);
}

public function testFindOneByWithEagerFetch()
public function testFindOneWithEagerFetchWillNotHydrateLimitedCollection()
{
$user = new DDC3346Author();
$user->username = "bwoogy";
Expand All @@ -37,24 +37,70 @@ public function testFindOneByWithEagerFetch()
$this->_em->persist($article1);
$this->_em->persist($article2);
$this->_em->flush();
$this->_em->close();
$this->_em->clear();

/** @var DDC3346Author $author */
$author = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findOneBy(
array('username' => "bwoogy")
);

$this->assertCount(2, $author->articles);
}

public function testFindLimitedWithEagerFetchWillNotHydrateLimitedCollection()
{
$user = new DDC3346Author();
$user->username = "bwoogy";

$article1 = new DDC3346Article();
$article1->setAuthor($user);

$article2 = new DDC3346Article();
$article2->setAuthor($user);

$this->_em->persist($user);
$this->_em->persist($article1);
$this->_em->persist($article2);
$this->_em->flush();
$this->_em->clear();

/** @var DDC3346Author[] $authors */
$authors = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findBy(
array('username' => "bwoogy")
array('username' => "bwoogy"),
null,
1
);

$this->assertCount(1, $authors);

$this->assertCount(2, $authors[0]->articles);
}

$this->_em->close();
public function testFindWithEagerFetchAndOffsetWillNotHydrateLimitedCollection()
{
$user = new DDC3346Author();
$user->username = "bwoogy";

/** @var DDC3346Author $author */
$author = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findOneBy(
array('username' => "bwoogy")
$article1 = new DDC3346Article();
$article1->setAuthor($user);

$article2 = new DDC3346Article();
$article2->setAuthor($user);

$this->_em->persist($user);
$this->_em->persist($article1);
$this->_em->persist($article2);
$this->_em->flush();
$this->_em->clear();

/** @var DDC3346Author[] $authors */
$authors = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findBy(
array('username' => "bwoogy"),
null,
null,
1
);

$this->assertCount(2, $author->articles);
$this->assertCount(1, $authors);
$this->assertCount(2, $authors[0]->articles);
}
}

0 comments on commit d8c6fb4

Please sign in to comment.