function TwigWhiteListTest::setUp

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Theme/TwigWhiteListTest.php \Drupal\KernelTests\Core\Theme\TwigWhiteListTest::setUp()
  2. 8.9.x core/tests/Drupal/KernelTests/Core/Theme/TwigWhiteListTest.php \Drupal\KernelTests\Core\Theme\TwigWhiteListTest::setUp()
  3. 11.x core/tests/Drupal/KernelTests/Core/Theme/TwigWhiteListTest.php \Drupal\KernelTests\Core\Theme\TwigWhiteListTest::setUp()

Overrides KernelTestBase::setUp

File

core/tests/Drupal/KernelTests/Core/Theme/TwigWhiteListTest.php, line 52

Class

TwigWhiteListTest
Tests white-listing of entity properties.

Namespace

Drupal\KernelTests\Core\Theme

Code

protected function setUp() : void {
  parent::setUp();
  \Drupal::service('theme_installer')->install([
    'test_theme',
  ]);
  $this->installEntitySchema('node');
  $this->installEntitySchema('user');
  $this->installEntitySchema('taxonomy_term');
  NodeType::create([
    'type' => 'page',
    'name' => 'Basic page',
    'display_submitted' => FALSE,
  ])->save();
  // Add a vocabulary so we can test different view modes.
  $vocabulary = Vocabulary::create([
    'name' => $this->randomMachineName(),
    'description' => $this->randomMachineName(),
    'vid' => $this->randomMachineName(),
    'langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED,
    'help' => '',
  ]);
  $vocabulary->save();
  // Add a term to the vocabulary.
  $this->term = Term::create([
    'name' => 'Sometimes people are just jerks',
    'description' => $this->randomMachineName(),
    'vid' => $vocabulary->id(),
    'langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED,
  ]);
  $this->term
    ->save();
  // Create a field.
  $handler_settings = [
    'target_bundles' => [
      $vocabulary->id() => $vocabulary->id(),
    ],
    'auto_create' => TRUE,
  ];
  // Add the term field.
  FieldStorageConfig::create([
    'field_name' => 'field_term',
    'type' => 'entity_reference',
    'entity_type' => 'node',
    'cardinality' => 1,
    'settings' => [
      'target_type' => 'taxonomy_term',
    ],
  ])->save();
  FieldConfig::create([
    'field_name' => 'field_term',
    'entity_type' => 'node',
    'bundle' => 'page',
    'label' => 'Terms',
    'settings' => [
      'handler' => 'default',
      'handler_settings' => $handler_settings,
    ],
  ])->save();
  // Show on default display and teaser.
  \Drupal::service('entity_display.repository')->getViewDisplay('node', 'page')
    ->setComponent('field_term', [
    'type' => 'entity_reference_label',
  ])
    ->save();
  // Boot twig environment.
  $this->twig = \Drupal::service('twig');
}

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