Files
piratepoet/tests/integration/Doctrine/ConfigurationFactoryTest.php
2020-12-07 11:36:01 +01:00

49 lines
2.3 KiB
PHP

<?php
namespace MailPoet\Test\Config;
use MailPoet\Doctrine\Annotations\AnnotationReaderProvider;
use MailPoet\Doctrine\ConfigurationFactory;
use MailPoet\Doctrine\MetadataCache;
use MailPoet\Doctrine\TablePrefixMetadataFactory;
use MailPoetVendor\Doctrine\Common\Cache\ArrayCache;
use MailPoetVendor\Doctrine\Common\Proxy\AbstractProxyFactory;
use MailPoetVendor\Doctrine\ORM\Configuration;
use MailPoetVendor\Doctrine\ORM\Mapping\Driver\AnnotationDriver;
use MailPoetVendor\Doctrine\ORM\Mapping\UnderscoreNamingStrategy;
class ConfigurationFactoryTest extends \MailPoetTest {
public function testItSetsUpBasicOptions() {
$configurationFactory = new ConfigurationFactory(new AnnotationReaderProvider(), false);
$configuration = $configurationFactory->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);
// cache
expect($configuration->getQueryCacheImpl())->isInstanceOf(ArrayCache::class);
expect($configuration->getResultCacheImpl())->isInstanceOf(ArrayCache::class);
// proxies
expect(realpath($configuration->getProxyDir()))->equals(realpath(__DIR__ . '/../../../generated/doctrine-proxies'));
expect($configuration->getProxyNamespace())->equals('MailPoetDoctrineProxies');
}
public function testItSetsUpEnvironmentSpecificOptions() {
// dev mode
$configurationFactory = new ConfigurationFactory(new AnnotationReaderProvider(), true);
$configuration = $configurationFactory->createConfiguration();
expect($configuration->getAutoGenerateProxyClasses())->equals(AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS);
// production mode
$configurationFactory = new ConfigurationFactory(new AnnotationReaderProvider(), false);
$configuration = $configurationFactory->createConfiguration();
expect($configuration->getAutoGenerateProxyClasses())->equals(AbstractProxyFactory::AUTOGENERATE_NEVER);
}
}