diff --git a/tests/integration/Doctrine/ConfigurationFactoryTest.php b/tests/integration/Doctrine/ConfigurationFactoryTest.php new file mode 100644 index 0000000000..dac3ddcd2f --- /dev/null +++ b/tests/integration/Doctrine/ConfigurationFactoryTest.php @@ -0,0 +1,48 @@ +createConfiguration(); + + expect($configuration)->isInstanceOf(Configuration::class); + expect($configuration->getNamingStrategy())->isInstanceOf(UnderscoreNamingStrategy::class); + + // metadata + expect($configuration->getClassMetadataFactoryName())->equals(TablePrefixMetadataFactory::class); + expect($configuration->getMetadataCacheImpl())->isInstanceOf(MetadataCache::class); + expect($configuration->getMetadataDriverImpl())->isInstanceOf(AnnotationDriver::class); + + // proxies + expect(realpath($configuration->getProxyDir()))->equals(realpath(__DIR__ . '/../../../generated/doctrine-proxies')); + expect($configuration->getProxyNamespace())->equals('MailPoetDoctrineProxies'); + } + + function testItSetsUpEnvironmentSpecificOptions() { + // dev mode + $configuration_factory = new ConfigurationFactory(true); + $configuration = $configuration_factory->createConfiguration(); + expect($configuration->getQueryCacheImpl())->isInstanceOf(ArrayCache::class); + expect($configuration->getResultCacheImpl())->isInstanceOf(ArrayCache::class); + expect($configuration->getAutoGenerateProxyClasses())->equals(AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS); + + // production mode + $configuration_factory = new ConfigurationFactory(false); + $configuration = $configuration_factory->createConfiguration(); + expect($configuration->getQueryCacheImpl())->isInstanceOf(FilesystemCache::class); + expect($configuration->getResultCacheImpl())->isInstanceOf(FilesystemCache::class); + expect($configuration->getAutoGenerateProxyClasses())->equals(AbstractProxyFactory::AUTOGENERATE_NEVER); + } +}