From eb6498544f7c0689ea3f146d21b7b8710ba97709 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Thu, 3 Apr 2014 16:12:34 +0200 Subject: [PATCH] DDC-3065 - splitting tests and checking multiple values support --- .../ORM/Functional/EntityRepositoryTest.php | 69 +++++++++++++++++-- 1 file changed, 63 insertions(+), 6 deletions(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/EntityRepositoryTest.php b/tests/Doctrine/Tests/ORM/Functional/EntityRepositoryTest.php index f33feb2bc..f20ba88e5 100644 --- a/tests/Doctrine/Tests/ORM/Functional/EntityRepositoryTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/EntityRepositoryTest.php @@ -934,18 +934,44 @@ class EntityRepositoryTest extends \Doctrine\Tests\OrmFunctionalTestCase */ public function testFindByNullValueInInCondition() { - $user = new CmsUser(); + $user1 = new CmsUser(); + $user2 = new CmsUser(); - $user->username = 'ocramius'; - $user->name = 'Marco'; + $user1->username = 'ocramius'; + $user1->name = 'Marco'; + $user2->status = null; + $user2->username = 'deeky666'; + $user2->name = 'Steve'; + $user2->status = 'dbal maintainer'; - $this->_em->persist($user); + $this->_em->persist($user1); + $this->_em->persist($user2); $this->_em->flush(); $users = $this->_em->getRepository('Doctrine\Tests\Models\CMS\CmsUser')->findBy(array('status' => array(null))); $this->assertCount(1, $users); - $this->assertSame($user, reset($users)); + $this->assertSame($user1, reset($users)); + } + + /** + * @group DDC-3056 + */ + public function testFindByNullValueInMultipleInCriteriaValues() + { + $user1 = new CmsUser(); + $user2 = new CmsUser(); + + $user1->username = 'ocramius'; + $user1->name = 'Marco'; + $user2->status = null; + $user2->username = 'deeky666'; + $user2->name = 'Steve'; + $user2->status = 'dbal maintainer'; + + $this->_em->persist($user1); + $this->_em->persist($user2); + $this->_em->flush(); $users = $this ->_em @@ -953,7 +979,38 @@ class EntityRepositoryTest extends \Doctrine\Tests\OrmFunctionalTestCase ->findBy(array('status' => array('foo', null))); $this->assertCount(1, $users); - $this->assertSame($user, reset($users)); + $this->assertSame($user1, reset($users)); + } + + /** + * @group DDC-3056 + */ + public function testFindMultipleByNullValueInMultipleInCriteriaValues() + { + $user1 = new CmsUser(); + $user2 = new CmsUser(); + + $user1->username = 'ocramius'; + $user1->name = 'Marco'; + $user2->status = null; + $user2->username = 'deeky666'; + $user2->name = 'Steve'; + $user2->status = 'dbal maintainer'; + + $this->_em->persist($user1); + $this->_em->persist($user2); + $this->_em->flush(); + + $users = $this + ->_em + ->getRepository('Doctrine\Tests\Models\CMS\CmsUser') + ->findBy(array('status' => array('dbal maintainer', null))); + + $this->assertCount(2, $users); + + foreach ($users as $user) { + $this->assertTrue(in_array($user, array($user1, $user2))); + } } }