Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / block / tests / src / Functional / BlockTestBase.php
diff --git a/web/core/modules/block/tests/src/Functional/BlockTestBase.php b/web/core/modules/block/tests/src/Functional/BlockTestBase.php
new file mode 100644 (file)
index 0000000..e1ccd1a
--- /dev/null
@@ -0,0 +1,74 @@
+<?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
+   */
+  public 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();
+    }
+  }
+
+}