StatusOverrideTest.php in Configuration Split 2.0.x
File
tests/src/Kernel/StatusOverrideTest.php
View source
<?php
namespace Drupal\Tests\config_split\Kernel;
use Drupal\KernelTests\KernelTestBase;
class StatusOverrideTest extends KernelTestBase {
use SplitTestTrait;
public static $modules = [
'config_split',
];
public function testStateConfigOverride() {
$this
->createSplitConfig('active', [
'status' => TRUE,
])
->save();
$this
->createSplitConfig('inactive', [
'status' => FALSE,
])
->save();
$override = $this->container
->get('config_split.status_override');
$configFactory = $this->container
->get('config.factory');
self::assertNull($override
->getSplitOverride('active'));
self::assertNull($override
->getSplitOverride('inactive'));
self::assertTrue($configFactory
->get('config_split.config_split.active')
->get('status'));
self::assertFalse($configFactory
->get('config_split.config_split.inactive')
->get('status'));
$override
->setSplitOverride('active', FALSE);
$override
->setSplitOverride('inactive', TRUE);
$configFactory
->clearStaticCache();
self::assertFalse($override
->getSplitOverride('active'));
self::assertFalse($configFactory
->get('config_split.config_split.active')
->get('status'));
self::assertTrue($override
->getSplitOverride('inactive'));
self::assertTrue($configFactory
->get('config_split.config_split.inactive')
->get('status'));
$override
->setSplitOverride('active', NULL);
$override
->setSplitOverride('inactive', NULL);
$configFactory
->clearStaticCache();
self::assertNull($override
->getSplitOverride('active'));
self::assertNull($override
->getSplitOverride('inactive'));
self::assertTrue($configFactory
->get('config_split.config_split.active')
->get('status'));
self::assertFalse($configFactory
->get('config_split.config_split.inactive')
->get('status'));
}
public function testGlobalOverride() {
$config['config_split.config_split.test1']['status'] = TRUE;
$config['config_split.config_split.test2']['status'] = FALSE;
$GLOBALS['config'] = $config;
$override = $this->container
->get('config_split.status_override');
self::assertTrue($override
->getSettingsOverride('test1'));
self::assertFalse($override
->getSettingsOverride('test2'));
self::assertNull($override
->getSettingsOverride('test3'));
}
}