function EntityViewsDataTest::setupBaseFields

Helper method to setup base fields.

Parameters

\Drupal\Core\Field\BaseFieldDefinition[] $base_fields: The base fields which are adapted.

Return value

\Drupal\Core\Field\BaseFieldDefinition[] The setup base fields.

3 calls to EntityViewsDataTest::setupBaseFields()
EntityViewsDataTest::testBaseTableFields in core/modules/views/tests/src/Unit/EntityViewsDataTest.php
Tests fields on the base table.
EntityViewsDataTest::testDataTableFields in core/modules/views/tests/src/Unit/EntityViewsDataTest.php
Tests fields on the data table.
EntityViewsDataTest::testRevisionTableFields in core/modules/views/tests/src/Unit/EntityViewsDataTest.php
Tests fields on the revision table.

File

core/modules/views/tests/src/Unit/EntityViewsDataTest.php, line 164

Class

EntityViewsDataTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21views%21src%21EntityViewsData.php/class/EntityViewsData/8.9.x" title="Provides generic views integration for entities." class="local">\Drupal\views\EntityViewsData</a> @group Views

Namespace

Drupal\Tests\views\Unit

Code

protected function setupBaseFields(array $base_fields) {
    // Add a description field to the fields supplied by the EntityTest
    // classes. This example comes from the taxonomy Term entity.
    $base_fields['description'] = BaseFieldDefinition::create('text_long')->setLabel('Description')
        ->setDescription('A description of the term.')
        ->setTranslatable(TRUE)
        ->setDisplayOptions('view', [
        'label' => 'hidden',
        'type' => 'text_default',
        'weight' => 0,
    ])
        ->setDisplayConfigurable('view', TRUE)
        ->setDisplayOptions('form', [
        'type' => 'text_textfield',
        'weight' => 0,
    ])
        ->setDisplayConfigurable('form', TRUE);
    // Add a URL field; this example is from the Comment entity.
    $base_fields['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
    $base_fields['string'] = BaseFieldDefinition::create('string')->setLabel('Strong')
        ->setTranslatable(TRUE)
        ->setCardinality(2);
    foreach ($base_fields as $name => $base_field) {
        $base_field->setName($name);
    }
    return $base_fields;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.