function ConfigEntityQueryTest::testLookupKeys
Same name in other branches
- 9 core/tests/Drupal/KernelTests/Core/Entity/ConfigEntityQueryTest.php \Drupal\KernelTests\Core\Entity\ConfigEntityQueryTest::testLookupKeys()
- 8.9.x core/tests/Drupal/KernelTests/Core/Entity/ConfigEntityQueryTest.php \Drupal\KernelTests\Core\Entity\ConfigEntityQueryTest::testLookupKeys()
- 11.x core/tests/Drupal/KernelTests/Core/Entity/ConfigEntityQueryTest.php \Drupal\KernelTests\Core\Entity\ConfigEntityQueryTest::testLookupKeys()
Tests lookup keys are added to the key value store.
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Entity/ ConfigEntityQueryTest.php, line 705
Class
- ConfigEntityQueryTest
- Tests Config Entity Query functionality.
Namespace
Drupal\KernelTests\Core\EntityCode
public function testLookupKeys() : void {
\Drupal::service('state')->set('config_test.lookup_keys', TRUE);
\Drupal::entityTypeManager()->clearCachedDefinitions();
$key_value = $this->container
->get('keyvalue')
->get(QueryFactory::CONFIG_LOOKUP_PREFIX . 'config_test');
$test_entities = [];
$storage = \Drupal::entityTypeManager()->getStorage('config_test');
$entity = $storage->create([
'label' => 'entity_1',
'id' => '1',
'style' => 'test',
]);
$test_entities[$entity->getConfigDependencyName()] = $entity;
$entity->enforceIsNew();
$entity->save();
$expected[] = $entity->getConfigDependencyName();
$this->assertEquals($expected, $key_value->get('style:test'));
$entity = $storage->create([
'label' => 'entity_2',
'id' => '2',
'style' => 'test',
]);
$test_entities[$entity->getConfigDependencyName()] = $entity;
$entity->enforceIsNew();
$entity->save();
$expected[] = $entity->getConfigDependencyName();
$this->assertEquals($expected, $key_value->get('style:test'));
$entity = $storage->create([
'label' => 'entity_3',
'id' => '3',
'style' => 'blah',
]);
$entity->enforceIsNew();
$entity->save();
// Do not add this entity to the list of expected result as it has a
// different value.
$this->assertEquals($expected, $key_value->get('style:test'));
$this->assertEquals([
$entity->getConfigDependencyName(),
], $key_value->get('style:blah'));
// Ensure that a delete clears a key.
$entity->delete();
$this->assertNull($key_value->get('style:blah'));
// Ensure that delete only clears one key.
$entity_id = array_pop($expected);
$test_entities[$entity_id]->delete();
$this->assertEquals($expected, $key_value->get('style:test'));
$entity_id = array_pop($expected);
$test_entities[$entity_id]->delete();
$this->assertNull($key_value->get('style:test'));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.