function NodeAccessJoinTest::setUp

Same name and namespace in other branches
  1. 11.x core/modules/node/tests/src/Functional/NodeAccessJoinTest.php \Drupal\Tests\node\Functional\NodeAccessJoinTest::setUp()

Overrides NodeTestBase::setUp

File

core/modules/node/tests/src/Functional/NodeAccessJoinTest.php, line 75

Class

NodeAccessJoinTest
Tests Node Access on join.

Namespace

Drupal\Tests\node\Functional

Code

protected function setUp() : void {
  parent::setUp();
  node_access_test_add_field(NodeType::load('article'));
  $field_storage = FieldStorageConfig::create([
    'field_name' => 'related_article',
    'entity_type' => 'node',
    'translatable' => FALSE,
    'entity_types' => [],
    'settings' => [
      'target_type' => 'node',
    ],
    'type' => 'entity_reference',
  ]);
  $field_storage->save();
  $field = FieldConfig::create([
    'field_name' => 'related_article',
    'entity_type' => 'node',
    'bundle' => 'page',
    'label' => 'Related Article',
    'settings' => [
      'handler' => 'default',
      'handler_settings' => [
        // Reference a single vocabulary.
'target_bundles' => [
          'article',
        ],
      ],
    ],
  ]);
  $field->save();
  $entity_display = \Drupal::service('entity_display.repository');
  $entity_display->getViewDisplay('node', 'page', 'default')
    ->setComponent('related_article')
    ->save();
  $entity_display->getFormDisplay('node', 'page', 'default')
    ->setComponent('related_article', [
    'type' => 'entity_reference_autocomplete',
  ])
    ->save();
  $field = FieldConfig::create([
    'field_name' => 'related_article',
    'entity_type' => 'node',
    'bundle' => 'article',
    'label' => 'Related Article',
    'settings' => [
      'handler' => 'default',
      'handler_settings' => [
        // Reference a single vocabulary.
'target_bundles' => [
          'article',
        ],
      ],
    ],
  ]);
  $field->save();
  $entity_display->getViewDisplay('node', 'article', 'default')
    ->setComponent('related_article')
    ->save();
  $entity_display->getFormDisplay('node', 'article', 'default')
    ->setComponent('related_article', [
    'type' => 'entity_reference_autocomplete',
  ])
    ->save();
  node_access_rebuild();
  \Drupal::state()->set('node_access_test.private', TRUE);
}

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