1
0
mirror of synced 2025-01-20 07:21:40 +03:00

78 lines
2.1 KiB
PHP
Raw Normal View History

2015-01-22 17:32:03 +03:00
<?php
namespace Doctrine\Tests\ORM\Functional\Ticket;
use Doctrine\Tests\Models\DDC3346\DDC3346Article;
use Doctrine\Tests\Models\DDC3346\DDC3346Author;
/**
* @group DDC-3346
*/
class DDC3346Test extends \Doctrine\Tests\OrmFunctionalTestCase
{
public function setUp()
{
$this->useModelSet('ddc3346');
2015-01-22 17:32:03 +03:00
parent::setUp();
$this->loadAuthorFixture();
2015-01-22 17:32:03 +03:00
}
public function testFindOneWithEagerFetchWillNotHydrateLimitedCollection()
2015-01-22 17:32:03 +03:00
{
/* @var DDC3346Author $author */
$author = $this->_em->getRepository(DDC3346Author::CLASSNAME)->findOneBy(
array('username' => 'bwoogy')
);
$this->assertCount(2, $author->articles);
}
public function testFindLimitedWithEagerFetchWillNotHydrateLimitedCollection()
{
/* @var DDC3346Author[] $authors */
$authors = $this->_em->getRepository(DDC3346Author::CLASSNAME)->findBy(
array('username' => 'bwoogy'),
null,
1
);
$this->assertCount(1, $authors);
$this->assertCount(2, $authors[0]->articles);
}
2015-01-22 17:32:03 +03:00
public function testFindWithEagerFetchAndOffsetWillNotHydrateLimitedCollection()
{
/* @var DDC3346Author[] $authors */
$authors = $this->_em->getRepository(DDC3346Author::CLASSNAME)->findBy(
array('username' => 'bwoogy'),
null,
null,
0 // using an explicitly defined offset
2015-01-22 17:32:03 +03:00
);
$this->assertCount(1, $authors);
$this->assertCount(2, $authors[0]->articles);
}
2015-01-22 17:32:03 +03:00
private function loadAuthorFixture()
{
$user = new DDC3346Author();
$article1 = new DDC3346Article();
$article2 = new DDC3346Article();
$user->username = 'bwoogy';
$article1->user = $user;
$article2->user = $user;
$user->articles[] = $article1;
$user->articles[] = $article2;
$this->_em->persist($user);
$this->_em->persist($article1);
$this->_em->persist($article2);
$this->_em->flush();
$this->_em->clear();
2015-01-22 17:32:03 +03:00
}
}