/**
* 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
);