Mercurial > hg > isophonics-drupal-site
view core/modules/block_content/src/Tests/BlockContentTestBase.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | af1871eacc83 |
children |
line wrap: on
line source
<?php namespace Drupal\block_content\Tests; @trigger_error(__NAMESPACE__ . '\BlockContentTestBase is deprecated for removal before Drupal 9.0.0. Use Drupal\Tests\block_content\Functional\BlockContentTestBase instead. See https://www.drupal.org/node/2999939', E_USER_DEPRECATED); use Drupal\block_content\Entity\BlockContent; use Drupal\block_content\Entity\BlockContentType; use Drupal\simpletest\WebTestBase; /** * Sets up block content types. * * @deprecated Scheduled for removal in Drupal 9.0.0. * Use \Drupal\Tests\block_content\Functional\BlockContentTestBase instead. * * @see https://www.drupal.org/node/2999939 */ abstract class BlockContentTestBase extends WebTestBase { /** * Profile to use. * * @var string */ protected $profile = 'testing'; /** * Admin user * * @var \Drupal\user\UserInterface */ protected $adminUser; /** * Permissions to grant admin user. * * @var array */ protected $permissions = [ 'administer blocks', ]; /** * Modules to enable. * * @var array */ public static $modules = ['block', 'block_content']; /** * Whether or not to auto-create the basic block type during setup. * * @var bool */ protected $autoCreateBasicBlockType = TRUE; /** * Sets the test up. */ protected function setUp() { parent::setUp(); if ($this->autoCreateBasicBlockType) { $this->createBlockContentType('basic', TRUE); } $this->adminUser = $this->drupalCreateUser($this->permissions); $this->drupalPlaceBlock('local_actions_block'); } /** * Creates a custom block. * * @param bool|string $title * (optional) Title of block. When no value is given uses a random name. * Defaults to FALSE. * @param string $bundle * (optional) Bundle name. Defaults to 'basic'. * @param bool $save * (optional) Whether to save the block. Defaults to TRUE. * * @return \Drupal\block_content\Entity\BlockContent * Created custom block. */ protected function createBlockContent($title = FALSE, $bundle = 'basic', $save = TRUE) { $title = $title ?: $this->randomMachineName(); $block_content = BlockContent::create([ 'info' => $title, 'type' => $bundle, 'langcode' => 'en', ]); if ($block_content && $save === TRUE) { $block_content->save(); } return $block_content; } /** * Creates a custom block type (bundle). * * @param string $label * The block type label. * @param bool $create_body * Whether or not to create the body field * * @return \Drupal\block_content\Entity\BlockContentType * Created custom block type. */ protected function createBlockContentType($label, $create_body = FALSE) { $bundle = BlockContentType::create([ 'id' => $label, 'label' => $label, 'revision' => FALSE, ]); $bundle->save(); if ($create_body) { block_content_add_body_field($bundle->id()); } return $bundle; } }