BlockTestBase.php

Same filename and directory in other branches
  1. 8.9.x core/modules/block/src/Tests/BlockTestBase.php
  2. 8.9.x core/modules/block/tests/src/Functional/BlockTestBase.php
  3. 10 core/modules/block/tests/src/Functional/BlockTestBase.php
  4. 11.x core/modules/block/tests/src/Functional/BlockTestBase.php

Namespace

Drupal\Tests\block\Functional

File

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

View source
<?php

namespace Drupal\Tests\block\Functional;

use Drupal\filter\Entity\FilterFormat;
use Drupal\Tests\BrowserTestBase;

/**
 * Provides setup and helper methods for block module tests.
 */
abstract class BlockTestBase extends BrowserTestBase {
    
    /**
     * Modules to install.
     *
     * @var array
     */
    protected static $modules = [
        'block',
        'filter',
        'test_page_test',
        'help',
        'block_test',
    ];
    
    /**
     * A list of theme regions to test.
     *
     * @var array
     */
    protected $regions;
    
    /**
     * A test user with administrative privileges.
     *
     * @var \Drupal\user\UserInterface
     */
    protected $adminUser;
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() {
        parent::setUp();
        // Use the test page as the front page.
        $this->config('system.site')
            ->set('page.front', '/test-page')
            ->save();
        // Create Full HTML text format.
        $full_html_format = FilterFormat::create([
            'format' => 'full_html',
            'name' => 'Full HTML',
        ]);
        $full_html_format->save();
        // Create and log in an administrative user having access to the Full HTML
        // text format.
        $this->adminUser = $this->drupalCreateUser([
            'administer blocks',
            $full_html_format->getPermissionName(),
            'access administration pages',
        ]);
        $this->drupalLogin($this->adminUser);
        // Define the existing regions.
        $this->regions = [
            'header',
            'sidebar_first',
            'content',
            'sidebar_second',
            'footer',
        ];
        $block_storage = $this->container
            ->get('entity_type.manager')
            ->getStorage('block');
        $blocks = $block_storage->loadByProperties([
            'theme' => $this->config('system.theme')
                ->get('default'),
        ]);
        foreach ($blocks as $block) {
            $block->delete();
        }
    }

}

Classes

Title Deprecated Summary
BlockTestBase Provides setup and helper methods for block module tests.

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