/** * @dataProvider parameterProvider */ public function testParameterOverride($option, $parameter, $value) { $container = new ContainerBuilder(); $container->setParameter('kernel.debug', false); $loader = new DoctrineMongoDBExtension(); $loader->load(array(array($option => $value)), $container); $this->assertEquals($value, $container->getParameter('doctrine_mongodb.odm.' . $parameter)); }
public function testFactoriesAreRegistered() { $container = $this->getContainer(); $loader = new DoctrineMongoDBExtension(); $loader->load([['default_database' => 'test_database', 'connections' => ['cn1' => [], 'cn2' => []], 'document_managers' => ['dm1' => ['repository_factory' => 'repository_factory_service', 'persistent_collection_factory' => 'persistent_collection_factory_service']]]], $container); $configDm1 = $container->getDefinition('doctrine_mongodb.odm.dm1_configuration'); $this->assertContains(['setRepositoryFactory', [new Reference('repository_factory_service')]], $configDm1->getMethodCalls()); $this->assertContains(['setPersistentCollectionFactory', [new Reference('persistent_collection_factory_service')]], $configDm1->getMethodCalls()); }
/** * @dataProvider getAutomappingConfigurations */ public function testAutomapping(array $documentManagers) { $container = $this->getContainer(array('YamlBundle', 'XmlBundle')); $loader = new DoctrineMongoDBExtension(); $loader->load(array(array('default_database' => 'test_database', 'connections' => array('cn1' => array(), 'cn2' => array()), 'document_managers' => $documentManagers)), $container); $configDm1 = $container->getDefinition('doctrine_mongodb.odm.dm1_configuration'); $configDm2 = $container->getDefinition('doctrine_mongodb.odm.dm2_configuration'); $this->assertContains(array('setDocumentNamespaces', array(array('YamlBundle' => 'DoctrineMongoDBBundle\\Tests\\DependencyInjection\\Fixtures\\Bundles\\YamlBundle\\Document'))), $configDm1->getMethodCalls()); $this->assertContains(array('setDocumentNamespaces', array(array('XmlBundle' => 'DoctrineMongoDBBundle\\Tests\\DependencyInjection\\Fixtures\\Bundles\\XmlBundle\\Document'))), $configDm2->getMethodCalls()); }
public function testAnnotationsBundleMappingDetection() { $container = $this->getContainer('AnnotationsBundle'); $loader = new DoctrineMongoDBExtension(); $config = DoctrineMongoDBExtensionTest::buildConfiguration(array('document_managers' => array('default' => array('mappings' => array('AnnotationsBundle' => array()))))); $loader->load($config, $container); $calls = $container->getDefinition('doctrine_mongodb.odm.default_metadata_driver')->getMethodCalls(); $this->assertEquals('doctrine_mongodb.odm.default_annotation_metadata_driver', (string) $calls[0][1][0]); $this->assertEquals('DoctrineMongoDBBundle\\Tests\\DependencyInjection\\Fixtures\\Bundles\\AnnotationsBundle\\Document', $calls[0][1][1]); }