function LayoutBuilderDefaultValuesTest::addTextFields

Same name and namespace in other branches
  1. 10 core/modules/layout_builder/tests/src/Functional/LayoutBuilderDefaultValuesTest.php \Drupal\Tests\layout_builder\Functional\LayoutBuilderDefaultValuesTest::addTextFields()
  2. 11.x core/modules/layout_builder/tests/src/Functional/LayoutBuilderDefaultValuesTest.php \Drupal\Tests\layout_builder\Functional\LayoutBuilderDefaultValuesTest::addTextFields()

Helper function to add string fields.

1 call to LayoutBuilderDefaultValuesTest::addTextFields()
LayoutBuilderDefaultValuesTest::setUp in core/modules/layout_builder/tests/src/Functional/LayoutBuilderDefaultValuesTest.php

File

core/modules/layout_builder/tests/src/Functional/LayoutBuilderDefaultValuesTest.php, line 166

Class

LayoutBuilderDefaultValuesTest
Tests rendering default field values in Layout Builder.

Namespace

Drupal\Tests\layout_builder\Functional

Code

protected function addTextFields() {
    // String field with no default.
    $field_storage = FieldStorageConfig::create([
        'field_name' => 'field_string_no_default',
        'entity_type' => 'node',
        'type' => 'string',
    ]);
    $field_storage->save();
    $field = FieldConfig::create([
        'field_storage' => $field_storage,
        'bundle' => 'test_node_type',
    ]);
    $field->save();
    // String field with default value.
    $field_storage = FieldStorageConfig::create([
        'field_name' => 'field_string_with_default',
        'entity_type' => 'node',
        'type' => 'string',
    ]);
    $field_storage->save();
    $field = FieldConfig::create([
        'field_storage' => $field_storage,
        'bundle' => 'test_node_type',
    ]);
    $field->setDefaultValue('This is my default value');
    $field->save();
    // String field with default callback.
    $field_storage = FieldStorageConfig::create([
        'field_name' => 'field_string_with_callback',
        'entity_type' => 'node',
        'type' => 'string',
    ]);
    $field_storage->save();
    $field = FieldConfig::create([
        'field_storage' => $field_storage,
        'bundle' => 'test_node_type',
    ]);
    $field->setDefaultValueCallback('Drupal\\Tests\\layout_builder\\Functional\\LayoutBuilderDefaultValuesTest::defaultValueCallback');
    $field->save();
    // String field with late default. We will set default later.
    $field_storage = FieldStorageConfig::create([
        'field_name' => 'field_string_late_default',
        'entity_type' => 'node',
        'type' => 'string',
    ]);
    $field_storage->save();
    $field = FieldConfig::create([
        'field_storage' => $field_storage,
        'bundle' => 'test_node_type',
    ]);
    $field->save();
    
    /** @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface $display_repository */
    $display_repository = \Drupal::service('entity_display.repository');
    $display_repository->getViewDisplay('node', 'test_node_type')
        ->setComponent('field_string_no_default', [
        'type' => 'string',
    ])
        ->setComponent('field_string_with_default', [
        'type' => 'string',
    ])
        ->setComponent('field_string_with_callback', [
        'type' => 'string',
    ])
        ->setComponent('field_string_late_default', [
        'type' => 'string',
    ])
        ->save();
}

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