public function testWillNotInstantiateConfigWithInvalidNamingStrategyReference() { $config = array('doctrine' => array('configuration' => array('test_default' => array('naming_strategy' => 'test_naming_strategy')))); $this->serviceManager->setService('Config', $config); $this->setExpectedException('Zend\\ServiceManager\\Exception\\InvalidArgumentException'); $this->factory->createService($this->serviceManager); }
public function testWillInstantiateConfigWithEntityListenerResolverReference() { $entityListenerResolver = $this->getMock('Doctrine\\ORM\\Mapping\\EntityListenerResolver'); $config = array('doctrine' => array('configuration' => array('test_default' => array('entity_listener_resolver' => 'test_entity_listener_resolver')))); $this->serviceManager->setService('Config', $config); $this->serviceManager->setService('test_entity_listener_resolver', $entityListenerResolver); $ormConfig = $this->factory->createService($this->serviceManager); $this->assertSame($entityListenerResolver, $ormConfig->getEntityListenerResolver()); }
/** * {@inheritDoc} */ public function createService(ServiceLocatorInterface $serviceLocator) { /* @var $options Configuration */ $options = $this->getOptions($serviceLocator); if ($tablePrefix = $options->getTablePrefix()) { $eventManager = $serviceLocator->get($options->getEventManager()); $subscriber = new TablePrefixSubscriber($tablePrefix); $eventManager->addEventSubscriber($subscriber); } return parent::createService($serviceLocator); }
public function testDoctrineAddCustomCommentedType() { $config = array('doctrine' => array('connection' => array('orm_default' => array('driverClass' => 'Doctrine\\DBAL\\Driver\\PDOSqlite\\Driver', 'params' => array('memory' => true), 'doctrineTypeMappings' => array('money' => 'money'), 'doctrineCommentedTypes' => array('money'))), 'configuration' => array('orm_default' => array('types' => array('money' => 'DoctrineORMModuleTest\\Assets\\Types\\MoneyType'))))); $this->serviceManager->setService('Config', $config); $this->serviceManager->setService('Configuration', $config); $this->serviceManager->setService('doctrine.driver.orm_default', $this->getMock('Doctrine\\Common\\Persistence\\Mapping\\Driver\\MappingDriver')); $configurationFactory = new ConfigurationFactory('orm_default'); $this->serviceManager->setService('doctrine.configuration.orm_default', $configurationFactory->createService($this->serviceManager)); $dbal = $this->factory->createService($this->serviceManager); $platform = $dbal->getDatabasePlatform(); $type = Type::getType($platform->getDoctrineTypeMapping("money")); $this->assertInstanceOf('DoctrineORMModuleTest\\Assets\\Types\\MoneyType', $type); $this->assertTrue($platform->isCommentedDoctrineType($type)); }
public function setUp() { $connection = $this->getMockBuilder(Connection::class)->disableOriginalConstructor()->getMock(); $connection->expects($this->any())->method('getDatabasePlatform')->willReturn(new MySqlPlatform()); $this->entityManagerMock = $this->getMockBuilder(EntityManager::class)->disableOriginalConstructor()->setMethods(['persist', 'flush', 'remove', 'getConnection', 'getClassMetadata', 'createQueryBuilder', 'getConfiguration'])->getMock(); $this->queryBuilderMock = $this->getMockBuilder(QueryBuilder::class)->setMethods(['__construct'])->setConstructorArgs([$this->entityManagerMock])->getMock(); $this->queryMock = $this->getMockBuilder(AbstractQuery::class)->setMethods(['getResult'])->disableOriginalConstructor()->getMockForAbstractClass(); $this->queryBuilderMock->expects($this->any())->method('getQuery')->willReturn($this->queryMock); $this->entityManagerMock->expects($this->any())->method('createQueryBuilder')->willReturn($this->queryBuilderMock); $this->entityManagerMock->expects($this->any())->method('getConnection')->willReturn($connection); $configurationFactory = new ConfigurationFactory('orm_default'); /** @var Configuration $configuration */ $configuration = $configurationFactory->createService(clone Bootstrap::getServiceManager()); $this->entityManagerMock->expects($this->any())->method('getConfiguration')->willReturn($configuration); }
public function testDefaultMetadatFactory() { $config = array('doctrine' => array('configuration' => array('test_default' => array()))); $this->serviceManager->setService('Config', $config); $factory = new ConfigurationFactory('test_default'); $ormConfig = $factory->createService($this->serviceManager); $this->assertEquals('Doctrine\\ORM\\Mapping\\ClassMetadataFactory', $ormConfig->getClassMetadataFactoryName()); }