1
0
mirror of synced 2025-03-22 07:53:49 +03:00

#1277 DDC-3346 DDC-3531 - additional tests for LIMIT and OFFSET repository API (must not hydrate collections)

This commit is contained in:
Marco Pivetta 2015-01-23 16:09:18 +01:00
parent 1672448993
commit 157bf203bc

View File

@ -22,7 +22,7 @@ class DDC3346Test extends \Doctrine\Tests\OrmFunctionalTestCase
);
}
public function testFindOneByWithEagerFetch()
public function testFindOneWithEagerFetchWillNotHydrateLimitedCollection()
{
$user = new DDC3346Author();
$user->username = "bwoogy";
@ -37,18 +37,7 @@ class DDC3346Test extends \Doctrine\Tests\OrmFunctionalTestCase
$this->_em->persist($article1);
$this->_em->persist($article2);
$this->_em->flush();
$this->_em->close();
/** @var DDC3346Author[] $authors */
$authors = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findBy(
array('username' => "bwoogy")
);
$this->assertCount(1, $authors);
$this->assertCount(2, $authors[0]->articles);
$this->_em->close();
$this->_em->clear();
/** @var DDC3346Author $author */
$author = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findOneBy(
@ -57,4 +46,61 @@ class DDC3346Test extends \Doctrine\Tests\OrmFunctionalTestCase
$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"),
null,
1
);
$this->assertCount(1, $authors);
$this->assertCount(2, $authors[0]->articles);
}
public function testFindWithEagerFetchAndOffsetWillNotHydrateLimitedCollection()
{
$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"),
null,
null,
1
);
$this->assertCount(1, $authors);
$this->assertCount(2, $authors[0]->articles);
}
}