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 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 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 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());
 }