X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=vendor%2Fdoctrine%2Form%2Ftests%2FDoctrine%2FTests%2FORM%2FEntityManagerTest.php;fp=vendor%2Fdoctrine%2Form%2Ftests%2FDoctrine%2FTests%2FORM%2FEntityManagerTest.php;h=7de9213597250e97b0a1daf31f804db8a4bac5d2;hb=8b04b2d11798dee4f3e1358e4f43e97a6df851f6;hp=0000000000000000000000000000000000000000;hpb=73568cf05a785a45f94ca3f2351d9e07bf917958;p=zf2.biz%2Fgalerie.git diff --git a/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/EntityManagerTest.php b/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/EntityManagerTest.php new file mode 100644 index 0000000..7de9213 --- /dev/null +++ b/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/EntityManagerTest.php @@ -0,0 +1,175 @@ +_em = $this->_getTestEntityManager(); + } + + /** + * @group DDC-899 + */ + public function testIsOpen() + { + $this->assertTrue($this->_em->isOpen()); + $this->_em->close(); + $this->assertFalse($this->_em->isOpen()); + } + + public function testGetConnection() + { + $this->assertInstanceOf('Doctrine\DBAL\Connection', $this->_em->getConnection()); + } + + public function testGetMetadataFactory() + { + $this->assertInstanceOf('Doctrine\ORM\Mapping\ClassMetadataFactory', $this->_em->getMetadataFactory()); + } + + public function testGetConfiguration() + { + $this->assertInstanceOf('Doctrine\ORM\Configuration', $this->_em->getConfiguration()); + } + + public function testGetUnitOfWork() + { + $this->assertInstanceOf('Doctrine\ORM\UnitOfWork', $this->_em->getUnitOfWork()); + } + + public function testGetProxyFactory() + { + $this->assertInstanceOf('Doctrine\ORM\Proxy\ProxyFactory', $this->_em->getProxyFactory()); + } + + public function testGetEventManager() + { + $this->assertInstanceOf('Doctrine\Common\EventManager', $this->_em->getEventManager()); + } + + public function testCreateNativeQuery() + { + $rsm = new \Doctrine\ORM\Query\ResultSetMapping(); + $query = $this->_em->createNativeQuery('SELECT foo', $rsm); + + $this->assertSame('SELECT foo', $query->getSql()); + } + + public function testCreateQueryBuilder() + { + $this->assertInstanceOf('Doctrine\ORM\QueryBuilder', $this->_em->createQueryBuilder()); + } + + public function testCreateQueryBuilderAliasValid() + { + $q = $this->_em->createQueryBuilder() + ->select('u')->from('Doctrine\Tests\Models\CMS\CmsUser', 'u'); + $q2 = clone $q; + + $this->assertEquals('SELECT u FROM Doctrine\Tests\Models\CMS\CmsUser u', $q->getQuery()->getDql()); + $this->assertEquals('SELECT u FROM Doctrine\Tests\Models\CMS\CmsUser u', $q2->getQuery()->getDql()); + + $q3 = clone $q; + + $this->assertEquals('SELECT u FROM Doctrine\Tests\Models\CMS\CmsUser u', $q3->getQuery()->getDql()); + } + + public function testCreateQuery_DqlIsOptional() + { + $this->assertInstanceOf('Doctrine\ORM\Query', $this->_em->createQuery()); + } + + public function testGetPartialReference() + { + $user = $this->_em->getPartialReference('Doctrine\Tests\Models\CMS\CmsUser', 42); + $this->assertTrue($this->_em->contains($user)); + $this->assertEquals(42, $user->id); + $this->assertNull($user->getName()); + } + + public function testCreateQuery() + { + $q = $this->_em->createQuery('SELECT 1'); + $this->assertInstanceOf('Doctrine\ORM\Query', $q); + $this->assertEquals('SELECT 1', $q->getDql()); + } + + static public function dataMethodsAffectedByNoObjectArguments() + { + return array( + array('persist'), + array('remove'), + array('merge'), + array('refresh'), + array('detach') + ); + } + + /** + * @dataProvider dataMethodsAffectedByNoObjectArguments + */ + public function testThrowsExceptionOnNonObjectValues($methodName) { + $this->setExpectedException('Doctrine\ORM\ORMInvalidArgumentException', + 'EntityManager#'.$methodName.'() expects parameter 1 to be an entity object, NULL given.'); + $this->_em->$methodName(null); + } + + static public function dataAffectedByErrorIfClosedException() + { + return array( + array('flush'), + array('persist'), + array('remove'), + array('merge'), + array('refresh'), + ); + } + + /** + * @dataProvider dataAffectedByErrorIfClosedException + * @param string $methodName + */ + public function testAffectedByErrorIfClosedException($methodName) + { + $this->setExpectedException('Doctrine\ORM\ORMException', 'closed'); + + $this->_em->close(); + $this->_em->$methodName(new \stdClass()); + } + + /** + * @group DDC-1125 + */ + public function testTransactionalAcceptsReturn() + { + $return = $this->_em->transactional(function ($em) { + return 'foo'; + }); + + $this->assertEquals('foo', $return); + } + + public function testTransactionalAcceptsVariousCallables() + { + $this->assertSame('callback', $this->_em->transactional(array($this, 'transactionalCallback'))); + } + + public function testTransactionalThrowsInvalidArgumentExceptionIfNonCallablePassed() + { + $this->setExpectedException('InvalidArgumentException', 'Expected argument of type "callable", got "object"'); + $this->_em->transactional($this); + } + + public function transactionalCallback($em) + { + $this->assertSame($this->_em, $em); + return 'callback'; + } +}