You are here

protected function FieldAccessTest::setUp in Drupal 10

Same name in this branch
  1. 10 core/tests/Drupal/KernelTests/Core/Field/FieldAccessTest.php \Drupal\KernelTests\Core\Field\FieldAccessTest::setUp()
  2. 10 core/modules/field/tests/src/Functional/FieldAccessTest.php \Drupal\Tests\field\Functional\FieldAccessTest::setUp()
Same name and namespace in other branches
  1. 8 core/modules/field/tests/src/Functional/FieldAccessTest.php \Drupal\Tests\field\Functional\FieldAccessTest::setUp()
  2. 9 core/modules/field/tests/src/Functional/FieldAccessTest.php \Drupal\Tests\field\Functional\FieldAccessTest::setUp()

File

core/modules/field/tests/src/Functional/FieldAccessTest.php, line 41

Class

FieldAccessTest
Tests Field access.

Namespace

Drupal\Tests\field\Functional

Code

protected function setUp() : void {
  parent::setUp();
  $web_user = $this
    ->drupalCreateUser([
    'view test_view_field content',
  ]);
  $this
    ->drupalLogin($web_user);

  // Create content type.
  $content_type_info = $this
    ->drupalCreateContentType();
  $content_type = $content_type_info
    ->id();
  $field_storage = [
    'field_name' => 'test_view_field',
    'entity_type' => 'node',
    'type' => 'text',
  ];
  FieldStorageConfig::create($field_storage)
    ->save();
  $field = [
    'field_name' => $field_storage['field_name'],
    'entity_type' => 'node',
    'bundle' => $content_type,
  ];
  FieldConfig::create($field)
    ->save();

  // Assign display properties for the 'default' and 'teaser' view modes.
  foreach ([
    'default',
    'teaser',
  ] as $view_mode) {
    \Drupal::service('entity_display.repository')
      ->getViewDisplay('node', $content_type, $view_mode)
      ->setComponent($field_storage['field_name'])
      ->save();
  }

  // Create test node.
  $this->testViewFieldValue = 'This is some text';
  $settings = [];
  $settings['type'] = $content_type;
  $settings['title'] = 'Field view access test';
  $settings['test_view_field'] = [
    [
      'value' => $this->testViewFieldValue,
    ],
  ];
  $this->node = $this
    ->drupalCreateNode($settings);
}