grantPermission('customize shortcut links'); $user_role->grantPermission('access shortcuts'); $user_role->save(); } /** * {@inheritdoc} */ protected function createEntity() { // Create a "Llama" shortcut. $shortcut = Shortcut::create([ 'shortcut_set' => 'default', 'title' => t('Llama'), 'weight' => 0, 'link' => [['uri' => 'internal:/admin']], ]); $shortcut->save(); return $shortcut; } /** * Tests that when creating a shortcut, the shortcut set tag is invalidated. */ public function testEntityCreation() { // Create a cache entry that is tagged with a shortcut set cache tag. $cache_tags = ['config:shortcut.set.default']; \Drupal::cache('render')->set('foo', 'bar', CacheBackendInterface::CACHE_PERMANENT, $cache_tags); // Verify a cache hit. $this->verifyRenderCache('foo', $cache_tags); // Now create a shortcut entity in that shortcut set. $this->createEntity(); // Verify a cache miss. $this->assertFalse(\Drupal::cache('render')->get('foo'), 'Creating a new shortcut invalidates the cache tag of the shortcut set.'); } }