function BlockInstallTest::testCacheTagInvalidationUponInstallation

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

File

core/modules/block/tests/src/Functional/BlockInstallTest.php, line 21

Class

BlockInstallTest
Tests block module's installation.

Namespace

Drupal\Tests\block\Functional

Code

public function testCacheTagInvalidationUponInstallation() : void {
    // Warm the page cache.
    $this->drupalGet('');
    $this->assertSession()
        ->pageTextNotContains('Powered by Drupal');
    $this->assertSession()
        ->responseHeaderNotContains('X-Drupal-Cache-Tags', 'config:block_list');
    // Install the block module, and place the "Powered by Drupal" block.
    $this->container
        ->get('module_installer')
        ->install([
        'block',
        'shortcut',
    ]);
    $this->rebuildContainer();
    $this->drupalPlaceBlock('system_powered_by_block');
    // Check the same page, block.module's hook_install() should have
    // invalidated the 'rendered' cache tag to make blocks show up.
    $this->drupalGet('');
    $this->assertSession()
        ->responseHeaderContains('X-Drupal-Cache-Tags', 'config:block_list');
    $this->assertSession()
        ->pageTextContains('Powered by Drupal');
}

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