public function testGetClassName() { $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName(DemoEntity::ENTITY_NAME)); $className = DemoEntity::ENTITY_NAME; $demoEntity = new $className(); $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName($demoEntity)); $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName(array($demoEntity))); $classMetadata = $this->getMockBuilder('Doctrine\\ORM\\Mapping\\ClassMetadata')->disableOriginalConstructor()->getMock(); $classMetadata->expects($this->once())->method('getName')->will($this->returnValue(DemoEntity::ENTITY_NAME)); $connectionMock = new ConnectionMock(array(), new DriverMock()); $emMock = EntityManagerMock::create($connectionMock); $persistentCollection = new PersistentCollection($emMock, $classMetadata, new ArrayCollection()); $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName($persistentCollection)); $this->setExpectedException('Oro\\Bundle\\EntityConfigBundle\\Exception\\RuntimeException'); $this->assertEquals(DemoEntity::ENTITY_NAME, $this->configProvider->getClassName(array())); }
/** * Creates an EntityManager for testing purposes. * * NOTE: The created EntityManager will have its dependant DBAL parts completely * mocked out using a DriverMock, ConnectionMock, etc. These mocks can then * be configured in the tests to simulate the DBAL behavior that is desired * for a particular test, * * @param mixed $conn * @param EventManager $eventManager * @param bool $withSharedMetadata * @return EntityManagerMock */ protected function getTestEntityManager($conn = null, $eventManager = null, $withSharedMetadata = true) { $metadataCache = $withSharedMetadata ? self::getSharedMetadataCacheImpl() : new \Doctrine\Common\Cache\ArrayCache(); $config = new \Doctrine\ORM\Configuration(); $config->setMetadataCacheImpl($metadataCache); $config->setMetadataDriverImpl($config->newDefaultAnnotationDriver(array(), true)); $config->setQueryCacheImpl(self::getSharedQueryCacheImpl()); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Doctrine\\Tests\\Proxies'); if ($conn === null) { $conn = array('driverClass' => 'Oro\\Bundle\\TestFrameworkBundle\\Test\\Doctrine\\ORM\\Mocks\\DriverMock', 'wrapperClass' => 'Oro\\Bundle\\TestFrameworkBundle\\Test\\Doctrine\\ORM\\Mocks\\ConnectionMock', 'user' => 'john', 'password' => 'wayne'); } if (is_array($conn)) { $conn = \Doctrine\DBAL\DriverManager::getConnection($conn, $config, $eventManager); } return EntityManagerMock::create($conn, $config, $eventManager); }