You are here

protected function NodeFieldMultilingualTest::setUp in Drupal 9

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

Overrides BrowserTestBase::setUp

File

core/modules/node/tests/src/Functional/NodeFieldMultilingualTest.php, line 30

Class

NodeFieldMultilingualTest
Tests multilingual support for fields.

Namespace

Drupal\Tests\node\Functional

Code

protected function setUp() : void {
  parent::setUp();

  // Create Basic page node type.
  $this
    ->drupalCreateContentType([
    'type' => 'page',
    'name' => 'Basic page',
  ]);

  // Setup users.
  $admin_user = $this
    ->drupalCreateUser([
    'administer languages',
    'administer content types',
    'access administration pages',
    'create page content',
    'edit own page content',
  ]);
  $this
    ->drupalLogin($admin_user);

  // Add a new language.
  ConfigurableLanguage::createFromLangcode('it')
    ->save();

  // Enable URL language detection and selection.
  $edit = [
    'language_interface[enabled][language-url]' => '1',
  ];
  $this
    ->drupalGet('admin/config/regional/language/detection');
  $this
    ->submitForm($edit, 'Save settings');

  // Set "Basic page" content type to use multilingual support.
  $edit = [
    'language_configuration[language_alterable]' => TRUE,
  ];
  $this
    ->drupalGet('admin/structure/types/manage/page');
  $this
    ->submitForm($edit, 'Save content type');
  $this
    ->assertSession()
    ->pageTextContains("The content type Basic page has been updated.");

  // Make node body translatable.
  $field_storage = FieldStorageConfig::loadByName('node', 'body');
  $field_storage
    ->setTranslatable(TRUE);
  $field_storage
    ->save();
}