function ContentLanguageBaseFieldSyncWidgetTest::testBaseFieldSyncOptionsVisibleOnFirstLoad

Same name and namespace in other branches
  1. main core/modules/content_translation/tests/src/Functional/ContentLanguageBaseFieldSyncWidgetTest.php \Drupal\Tests\content_translation\Functional\ContentLanguageBaseFieldSyncWidgetTest::testBaseFieldSyncOptionsVisibleOnFirstLoad()

Tests translation sync options appear for translatable base fields.

File

core/modules/content_translation/tests/src/Functional/ContentLanguageBaseFieldSyncWidgetTest.php, line 39

Class

ContentLanguageBaseFieldSyncWidgetTest
Tests base-field translation sync options on content language settings form.

Namespace

Drupal\Tests\content_translation\Functional

Code

public function testBaseFieldSyncOptionsVisibleOnFirstLoad() : void {
  $account = $this->drupalCreateUser([
    'administer languages',
    'administer content translation',
    'administer media',
    'administer media types',
  ]);
  $this->drupalLogin($account);
  $media_type = $this->createMediaType('test');
  $this->drupalGet('admin/config/regional/content-language');
  $assert_session = $this->assertSession();
  $assert_session->statusCodeEquals(200);
  // Regression test: before any save/create of a base field override, the
  // column-group sync options for a translatable base field must be present.
  $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][fields][thumbnail]"]');
  $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][columns][thumbnail][file]"]');
  $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][columns][thumbnail][alt]"]');
  $assert_session->elementExists('css', 'input[name="settings[media][' . $media_type->id() . '][columns][thumbnail][title]"]');
  // Ensure the form can be saved without config schema errors.
  $this->getSession()
    ->getPage()
    ->pressButton('Save configuration');
  $this->assertSession()
    ->pageTextContains('Settings successfully updated.');
}

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