You are here

public function BlockContextualLinksTest::testBlockContextualRemoveLinks in Drupal 9

Test to ensure that remove contextual link is present in the block.

File

core/modules/block/tests/src/FunctionalJavascript/BlockContextualLinksTest.php, line 47

Class

BlockContextualLinksTest
Tests the contextual links added while rendering the block.

Namespace

Drupal\Tests\block\FunctionalJavascript

Code

public function testBlockContextualRemoveLinks() {

  // Ensure that contextual filter links are visible on the page.
  $this
    ->drupalLogin($this->rootUser);
  $this
    ->drupalGet('<front>');
  $contextual_id = "[data-contextual-id^='block:block={$this->blockId}:langcode=en']";
  $this
    ->assertSession()
    ->waitForElement('css', "{$contextual_id} .contextual-links");
  $expected_configure_block_link = base_path() . 'admin/structure/block/manage/' . $this->blockId;
  $actual_configure_block_link = parse_url($this
    ->getSession()
    ->getPage()
    ->findLink('Configure block')
    ->getAttribute('href'));
  $this
    ->assertEquals($expected_configure_block_link, $actual_configure_block_link['path']);
  $expected_remove_block_link = base_path() . 'admin/structure/block/manage/' . $this->blockId . '/delete';
  $actual_remove_block_link = parse_url($this
    ->getSession()
    ->getPage()
    ->findLink('Remove block')
    ->getAttribute('href'));
  $this
    ->assertEquals($expected_remove_block_link, $actual_remove_block_link['path']);
}