ConfigFactoryTest.php in Drupal 9
File
core/tests/Drupal/Tests/Core/Config/ConfigFactoryTest.php
View source
<?php
namespace Drupal\Tests\Core\Config;
use Drupal\Core\Config\Config;
use Drupal\Core\Config\ConfigFactory;
use Drupal\Tests\UnitTestCase;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class ConfigFactoryTest extends UnitTestCase {
protected $configFactory;
protected $storage;
protected $eventDispatcher;
protected $typedConfig;
protected $cacheTagsInvalidator;
protected function setUp() : void {
$this->storage = $this
->createMock('Drupal\\Core\\Config\\StorageInterface');
$this->eventDispatcher = $this
->createMock('Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface');
$this->typedConfig = $this
->createMock('\\Drupal\\Core\\Config\\TypedConfigManagerInterface');
$this->configFactory = new ConfigFactory($this->storage, $this->eventDispatcher, $this->typedConfig);
$this->cacheTagsInvalidator = $this
->createMock('Drupal\\Core\\Cache\\CacheTagsInvalidatorInterface');
$container = new ContainerBuilder();
$container
->set('cache_tags.invalidator', $this->cacheTagsInvalidator);
\Drupal::setContainer($container);
}
public function testRename() {
$old = new Config($this
->randomMachineName(), $this->storage, $this->eventDispatcher, $this->typedConfig);
$new = new Config($this
->randomMachineName(), $this->storage, $this->eventDispatcher, $this->typedConfig);
$this->storage
->expects($this
->exactly(2))
->method('readMultiple')
->willReturnMap([
[
[
$old
->getName(),
],
$old
->getRawData(),
],
[
[
$new
->getName(),
],
$new
->getRawData(),
],
]);
$this->cacheTagsInvalidator
->expects($this
->once())
->method('invalidateTags')
->with($old
->getCacheTags());
$this->storage
->expects($this
->once())
->method('rename')
->with($old
->getName(), $new
->getName());
$this->configFactory
->rename($old
->getName(), $new
->getName());
}
}