ConfigOverrider example

/** * Tests that the static cache is sensitive to config overrides. */
  public function testConfigOverride() {
    /** @var \Drupal\Core\Config\Entity\ConfigEntityStorage $storage */
    $storage = \Drupal::entityTypeManager()->getStorage($this->entityTypeId);
    // Prime the cache prior to adding a config override.     $storage->load($this->entityId);

    // Add the config override, and ensure that what is loaded is correct     // despite the prior cache priming.     \Drupal::configFactory()->addOverride(new ConfigOverrider());
    $entity_override = $storage->load($this->entityId);
    $this->assertSame('Overridden label', $entity_override->label);

    // Load override free to ensure that loading the config entity again does     // not return the overridden value.     $entity_no_override = $storage->loadOverrideFree($this->entityId);
    $this->assertNotSame('Overridden label', $entity_no_override->label);
    $this->assertNotSame($entity_override->_loadStamp, $entity_no_override->_loadStamp);

    // Reload the entity and ensure the cache is used.     $this->assertSame($entity_no_override->_loadStamp, $storage->loadOverrideFree($this->entityId)->_loadStamp);

    
Home | Imprint | This part of the site doesn't use cookies.