function ShortcutCacheTagsTest::testEntityCreation

Same name and namespace in other branches
  1. 9 core/modules/shortcut/tests/src/Functional/ShortcutCacheTagsTest.php \Drupal\Tests\shortcut\Functional\ShortcutCacheTagsTest::testEntityCreation()
  2. 8.9.x core/modules/shortcut/tests/src/Functional/ShortcutCacheTagsTest.php \Drupal\Tests\shortcut\Functional\ShortcutCacheTagsTest::testEntityCreation()
  3. 10 core/modules/shortcut/tests/src/Functional/ShortcutCacheTagsTest.php \Drupal\Tests\shortcut\Functional\ShortcutCacheTagsTest::testEntityCreation()

Tests that when creating a shortcut, the shortcut set tag is invalidated.

File

core/modules/shortcut/tests/src/Functional/ShortcutCacheTagsTest.php, line 88

Class

ShortcutCacheTagsTest
Tests the Shortcut entity's cache tags.

Namespace

Drupal\Tests\shortcut\Functional

Code

public function testEntityCreation() : void {
    $cache_bin = $this->getRenderCacheBackend();
    // Create a cache entry that is tagged with a shortcut set cache tag.
    $cache_tags = [
        'config:shortcut.set.default',
    ];
    $cacheability = new CacheableMetadata();
    $cacheability->addCacheTags($cache_tags);
    $cache_bin->set([
        'foo',
    ], 'bar', $cacheability, $cacheability);
    // Verify a cache hit.
    $this->verifyRenderCache([
        'foo',
    ], $cache_tags, $cacheability);
    // Now create a shortcut entity in that shortcut set.
    $this->createEntity();
    // Verify a cache miss.
    $this->assertFalse($cache_bin->get([
        'foo',
    ], $cacheability), 'Creating a new shortcut invalidates the cache tag of the shortcut set.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.