Mercurial > hg > isophonics-drupal-site
comparison core/modules/block_content/src/Tests/BlockContentTestBase.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 7a779792577d |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\block_content\Tests; | |
4 | |
5 use Drupal\block_content\Entity\BlockContent; | |
6 use Drupal\block_content\Entity\BlockContentType; | |
7 use Drupal\simpletest\WebTestBase; | |
8 | |
9 /** | |
10 * Sets up block content types. | |
11 * | |
12 * @deprecated Scheduled for removal in Drupal 9.0.0. | |
13 * Use \Drupal\Tests\block_content\Functional\BlockContentTestBase instead. | |
14 */ | |
15 abstract class BlockContentTestBase extends WebTestBase { | |
16 | |
17 /** | |
18 * Profile to use. | |
19 */ | |
20 protected $profile = 'testing'; | |
21 | |
22 /** | |
23 * Admin user | |
24 * | |
25 * @var \Drupal\user\UserInterface | |
26 */ | |
27 protected $adminUser; | |
28 | |
29 /** | |
30 * Permissions to grant admin user. | |
31 * | |
32 * @var array | |
33 */ | |
34 protected $permissions = [ | |
35 'administer blocks' | |
36 ]; | |
37 | |
38 /** | |
39 * Modules to enable. | |
40 * | |
41 * @var array | |
42 */ | |
43 public static $modules = ['block', 'block_content']; | |
44 | |
45 /** | |
46 * Whether or not to auto-create the basic block type during setup. | |
47 * | |
48 * @var bool | |
49 */ | |
50 protected $autoCreateBasicBlockType = TRUE; | |
51 | |
52 /** | |
53 * Sets the test up. | |
54 */ | |
55 protected function setUp() { | |
56 parent::setUp(); | |
57 if ($this->autoCreateBasicBlockType) { | |
58 $this->createBlockContentType('basic', TRUE); | |
59 } | |
60 | |
61 $this->adminUser = $this->drupalCreateUser($this->permissions); | |
62 $this->drupalPlaceBlock('local_actions_block'); | |
63 } | |
64 | |
65 /** | |
66 * Creates a custom block. | |
67 * | |
68 * @param bool|string $title | |
69 * (optional) Title of block. When no value is given uses a random name. | |
70 * Defaults to FALSE. | |
71 * @param string $bundle | |
72 * (optional) Bundle name. Defaults to 'basic'. | |
73 * @param bool $save | |
74 * (optional) Whether to save the block. Defaults to TRUE. | |
75 * | |
76 * @return \Drupal\block_content\Entity\BlockContent | |
77 * Created custom block. | |
78 */ | |
79 protected function createBlockContent($title = FALSE, $bundle = 'basic', $save = TRUE) { | |
80 $title = $title ?: $this->randomMachineName(); | |
81 $block_content = BlockContent::create([ | |
82 'info' => $title, | |
83 'type' => $bundle, | |
84 'langcode' => 'en' | |
85 ]); | |
86 if ($block_content && $save === TRUE) { | |
87 $block_content->save(); | |
88 } | |
89 return $block_content; | |
90 } | |
91 | |
92 /** | |
93 * Creates a custom block type (bundle). | |
94 * | |
95 * @param string $label | |
96 * The block type label. | |
97 * @param bool $create_body | |
98 * Whether or not to create the body field | |
99 * | |
100 * @return \Drupal\block_content\Entity\BlockContentType | |
101 * Created custom block type. | |
102 */ | |
103 protected function createBlockContentType($label, $create_body = FALSE) { | |
104 $bundle = BlockContentType::create([ | |
105 'id' => $label, | |
106 'label' => $label, | |
107 'revision' => FALSE, | |
108 ]); | |
109 $bundle->save(); | |
110 if ($create_body) { | |
111 block_content_add_body_field($bundle->id()); | |
112 } | |
113 return $bundle; | |
114 } | |
115 | |
116 } |