Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\block\Functional;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\filter\Entity\FilterFormat;
|
Chris@0
|
6 use Drupal\Tests\BrowserTestBase;
|
Chris@0
|
7
|
Chris@0
|
8 /**
|
Chris@0
|
9 * Provides setup and helper methods for block module tests.
|
Chris@0
|
10 */
|
Chris@0
|
11 abstract class BlockTestBase extends BrowserTestBase {
|
Chris@0
|
12
|
Chris@0
|
13 /**
|
Chris@0
|
14 * Modules to install.
|
Chris@0
|
15 *
|
Chris@0
|
16 * @var array
|
Chris@0
|
17 */
|
Chris@0
|
18 public static $modules = ['block', 'filter', 'test_page_test', 'help', 'block_test'];
|
Chris@0
|
19
|
Chris@0
|
20 /**
|
Chris@0
|
21 * A list of theme regions to test.
|
Chris@0
|
22 *
|
Chris@0
|
23 * @var array
|
Chris@0
|
24 */
|
Chris@0
|
25 protected $regions;
|
Chris@0
|
26
|
Chris@0
|
27 /**
|
Chris@0
|
28 * A test user with administrative privileges.
|
Chris@0
|
29 *
|
Chris@0
|
30 * @var \Drupal\user\UserInterface
|
Chris@0
|
31 */
|
Chris@0
|
32 protected $adminUser;
|
Chris@0
|
33
|
Chris@0
|
34 /**
|
Chris@0
|
35 * {@inheritdoc}
|
Chris@0
|
36 */
|
Chris@0
|
37 protected function setUp() {
|
Chris@0
|
38 parent::setUp();
|
Chris@0
|
39
|
Chris@0
|
40 // Use the test page as the front page.
|
Chris@0
|
41 $this->config('system.site')->set('page.front', '/test-page')->save();
|
Chris@0
|
42
|
Chris@0
|
43 // Create Full HTML text format.
|
Chris@0
|
44 $full_html_format = FilterFormat::create([
|
Chris@0
|
45 'format' => 'full_html',
|
Chris@0
|
46 'name' => 'Full HTML',
|
Chris@0
|
47 ]);
|
Chris@0
|
48 $full_html_format->save();
|
Chris@0
|
49
|
Chris@0
|
50 // Create and log in an administrative user having access to the Full HTML
|
Chris@0
|
51 // text format.
|
Chris@0
|
52 $this->adminUser = $this->drupalCreateUser([
|
Chris@0
|
53 'administer blocks',
|
Chris@0
|
54 $full_html_format->getPermissionName(),
|
Chris@0
|
55 'access administration pages',
|
Chris@0
|
56 ]);
|
Chris@0
|
57 $this->drupalLogin($this->adminUser);
|
Chris@0
|
58
|
Chris@0
|
59 // Define the existing regions.
|
Chris@0
|
60 $this->regions = [
|
Chris@0
|
61 'header',
|
Chris@0
|
62 'sidebar_first',
|
Chris@0
|
63 'content',
|
Chris@0
|
64 'sidebar_second',
|
Chris@0
|
65 'footer',
|
Chris@0
|
66 ];
|
Chris@0
|
67 $block_storage = $this->container->get('entity_type.manager')->getStorage('block');
|
Chris@0
|
68 $blocks = $block_storage->loadByProperties(['theme' => $this->config('system.theme')->get('default')]);
|
Chris@0
|
69 foreach ($blocks as $block) {
|
Chris@0
|
70 $block->delete();
|
Chris@0
|
71 }
|
Chris@0
|
72 }
|
Chris@0
|
73
|
Chris@0
|
74 }
|