protected function KernelTestBase::setUp in Forms Steps 8
Setup the env for current test using trait methods.
File
- tests/
src/ Kernel/ KernelTestBase.php, line 24
Class
- KernelTestBase
- Defines an abstract test base for kernel tests.
Namespace
Drupal\Tests\forms_steps\KernelCode
protected function setUp() {
$this->entityManager = $this->container
->get('entity_type.manager');
$this->state = $this->container
->get('state');
$this
->installSchema('system', 'sequences');
$this
->installEntitySchema('user');
$this
->installEntitySchema('entity_test');
// If the concrete test sub-class installs the Node or Comment modules,
// ensure that the node and comment entity schema are created before the
// field configurations are installed. This is because the entity tables
// need to be created before the body field storage tables. This prevents
// trying to create the body field tables twice.
$class = get_class($this);
while ($class) {
if (property_exists($class, 'modules')) {
// Only check the modules, if the $modules property was not inherited.
$rp = new \ReflectionProperty($class, 'modules');
if ($rp->class == $class) {
foreach (array_intersect([
'node',
'comment',
], self::$modules) as $module) {
$this
->installEntitySchema($module);
}
if (in_array('forum', self::$modules, TRUE)) {
// Forum module is particular about the order that dependencies are
// enabled in. The comment, node and taxonomy config and the
// taxonomy_term schema need to be installed before the forum config
// which in turn needs to be installed before field config.
$this
->installConfig([
'comment',
'node',
'taxonomy',
]);
$this
->installEntitySchema('taxonomy_term');
$this
->installConfig([
'forum',
]);
}
}
}
$class = get_parent_class($class);
}
$this
->installConfig([
'field',
]);
}