storage = $this->getMock('Drupal\Core\Config\StorageInterface'); $this->eventDispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface'); $this->typedConfig = $this->getMock('\Drupal\Core\Config\TypedConfigManagerInterface'); $this->configFactory = new ConfigFactory($this->storage, $this->eventDispatcher, $this->typedConfig); $this->cacheTagsInvalidator = $this->getMock('Drupal\Core\Cache\CacheTagsInvalidatorInterface'); $container = new ContainerBuilder(); $container->set('cache_tags.invalidator', $this->cacheTagsInvalidator); \Drupal::setContainer($container); } /** * @covers ::rename */ 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()); } }