BlockInstallTest.php

Same filename and directory in other branches
  1. 9 core/modules/block/tests/src/Functional/BlockInstallTest.php
  2. 8.9.x core/modules/block/tests/src/Functional/BlockInstallTest.php
  3. 10 core/modules/block/tests/src/Functional/BlockInstallTest.php

Namespace

Drupal\Tests\block\Functional

File

core/modules/block/tests/src/Functional/BlockInstallTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\block\Functional;

use Drupal\Tests\BrowserTestBase;

/**
 * Tests block module's installation.
 *
 * @group block
 */
class BlockInstallTest extends BrowserTestBase {
    
    /**
     * {@inheritdoc}
     */
    protected $defaultTheme = 'stark';
    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');
    }

}

Classes

Title Deprecated Summary
BlockInstallTest Tests block module's installation.

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