protected function EntityViewsDataTest::setUp in Drupal 10
Overrides KernelTestBase::setUp
File
- core/
modules/ views/ tests/ src/ Kernel/ Entity/ EntityViewsDataTest.php, line 62
Class
- EntityViewsDataTest
- Tests entity views data.
Namespace
Drupal\Tests\views\Kernel\EntityCode
protected function setUp() : void {
parent::setUp();
$this->entityTypeManager = $this->container
->get('entity_type.manager');
// A common entity type definition. Tests may change this prior to passing
// it to setUpEntityType().
$this->baseEntityType = new TestEntityType([
// A normal entity type would have its class picked up during discovery,
// but as we're mocking this without an annotation we have to specify it.
'class' => ViewsTestEntity::class,
'base_table' => 'entity_test',
'id' => 'entity_test',
'label' => 'Entity test',
'entity_keys' => [
'uuid' => 'uuid',
'id' => 'id',
'langcode' => 'langcode',
'bundle' => 'type',
'revision' => 'revision_id',
],
'handlers' => [
'views_data' => EntityViewsData::class,
],
'provider' => 'entity_test',
'list_cache_contexts' => [
'entity_test_list_cache_context',
],
]);
// Base fields for the test entity types.
$this->commonBaseFields['name'] = BaseFieldDefinition::create('string')
->setLabel(t('Name'))
->setDescription(t('The name of the test entity.'))
->setTranslatable(TRUE)
->setSetting('max_length', 32);
$this->commonBaseFields['created'] = BaseFieldDefinition::create('created')
->setLabel(t('Authored on'))
->setDescription(t('Time the entity was created'))
->setTranslatable(TRUE);
$this->commonBaseFields['user_id'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('User ID'))
->setDescription(t('The ID of the associated user.'))
->setSetting('target_type', 'user')
->setSetting('handler', 'default')
->setDefaultValue([
0 => [
'target_id' => 1,
],
])
->setTranslatable(TRUE);
// Add a description field. This example comes from the taxonomy Term
// entity.
$this->commonBaseFields['description'] = BaseFieldDefinition::create('text_long')
->setLabel('Description')
->setDescription('A description of the term.')
->setTranslatable(TRUE);
// Add a URL field; this example is from the Comment entity.
$this->commonBaseFields['homepage'] = BaseFieldDefinition::create('uri')
->setLabel('Homepage')
->setDescription("The comment author's home page address.")
->setTranslatable(TRUE)
->setSetting('max_length', 255);
// A base field with cardinality > 1
$this->commonBaseFields['string'] = BaseFieldDefinition::create('string')
->setLabel('Strong')
->setTranslatable(TRUE)
->setCardinality(2);
// Set up the basic 'entity_test' entity type. This is used by several
// tests; others customize it and the base fields.
$this
->setUpEntityType($this->baseEntityType, $this->commonBaseFields);
}