reviewer-1.2.x-dev/modules/reviewer_test_kit/tests/src/Kernel/Entity/EntityTaskBaseTestBase.php
modules/reviewer_test_kit/tests/src/Kernel/Entity/EntityTaskBaseTestBase.php
<?php
declare(strict_types=1);
namespace Drupal\Tests\reviewer_test_kit\Kernel\Entity;
use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\field_layout\Entity\FieldLayoutEntityFormDisplay;
use Drupal\field_layout\Entity\FieldLayoutEntityViewDisplay;
use Drupal\Tests\node\Traits\ContentTypeCreationTrait;
use Drupal\Tests\node\Traits\NodeCreationTrait;
use Drupal\Tests\reviewer_test_kit\Kernel\ReviewerTestKitKernelTestBase;
/**
* Base class for reviewer test kit kernel tests which test entities.
*/
abstract class EntityTaskBaseTestBase extends ReviewerTestKitKernelTestBase {
use ContentTypeCreationTrait;
use NodeCreationTrait;
/**
* {@inheritdoc}
*/
protected static $modules = [
'datetime',
'filter',
'filter_test',
'field',
'field_layout',
'layout_discovery',
'node',
'text',
'user',
];
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
$this->installEntitySchema('node');
$this->installEntitySchema('user');
$this->installConfig([
'filter',
'node',
'user',
]);
$this->createContentType(['type' => 'reviewer']);
// Add an entity reference field to test the $fieldTypes handlers.
$storage = FieldStorageConfig::create([
'entity_type' => 'node',
'field_name' => 'field_node',
'type' => 'entity_reference',
]);
$storage->save();
FieldConfig::create([
'field_storage' => $storage,
'bundle' => 'reviewer',
'label' => 'Node',
'settings' => [
'handler' => 'default:node',
'handler_settings' => [
'target_bundles' => [
'reviewer',
],
],
],
])->save();
}
/**
* Load the entity form display form for testing.
*/
protected function loadForm(): EntityFormDisplayInterface {
$display = FieldLayoutEntityFormDisplay::load('node.reviewer.default');
self::assertNotNull($display);
return $display;
}
/**
* Load the entity view display form for testing.
*/
protected function loadView(): EntityViewDisplayInterface {
$display = FieldLayoutEntityViewDisplay::load('node.reviewer.default');
self::assertNotNull($display);
return $display;
}
}
