You are here

public function BlockLanguageCacheTest::testBlockLinks in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/block/tests/src/Functional/BlockLanguageCacheTest.php \Drupal\Tests\block\Functional\BlockLanguageCacheTest::testBlockLinks()
  2. 10 core/modules/block/tests/src/Functional/BlockLanguageCacheTest.php \Drupal\Tests\block\Functional\BlockLanguageCacheTest::testBlockLinks()

Creates a block in a language, check blocks page in all languages.

File

core/modules/block/tests/src/Functional/BlockLanguageCacheTest.php, line 52

Class

BlockLanguageCacheTest
Tests display of menu blocks with multiple languages.

Namespace

Drupal\Tests\block\Functional

Code

public function testBlockLinks() {

  // Create admin user to be able to access block admin.
  $admin_user = $this
    ->drupalCreateUser([
    'administer blocks',
    'access administration pages',
    'administer menu',
  ]);
  $this
    ->drupalLogin($admin_user);

  // Create the block cache for all languages.
  foreach ($this->langcodes as $langcode) {
    $this
      ->drupalGet('admin/structure/block', [
      'language' => $langcode,
    ]);
    $this
      ->clickLink('Place block');
  }

  // Create a menu in the default language.
  $edit['label'] = $this
    ->randomMachineName();
  $edit['id'] = mb_strtolower($edit['label']);
  $this
    ->drupalPostForm('admin/structure/menu/add', $edit, t('Save'));
  $this
    ->assertText(t('Menu @label has been added.', [
    '@label' => $edit['label'],
  ]));

  // Check that the block is listed for all languages.
  foreach ($this->langcodes as $langcode) {
    $this
      ->drupalGet('admin/structure/block', [
      'language' => $langcode,
    ]);
    $this
      ->clickLink('Place block');
    $this
      ->assertText($edit['label']);
  }
}