public function QuickEditIntegrationTest::testCustomBlockLinks in Drupal 8
Tests that contextual links in custom blocks are changed.
"Quick edit" is quickedit.module link. "Quick edit settings" is settings_tray.module link.
File
- core/
modules/ settings_tray/ tests/ src/ FunctionalJavascript/ QuickEditIntegrationTest.php, line 136
Class
- QuickEditIntegrationTest
- Test Settings Tray and Quick Edit modules integration.
Namespace
Drupal\Tests\settings_tray\FunctionalJavascriptCode
public function testCustomBlockLinks() {
$this
->createBlockContentType('basic', TRUE);
$block_content = $this
->createBlockContent('Custom Block', 'basic', TRUE);
$this
->placeBlock('block_content:' . $block_content
->uuid(), [
'id' => 'custom',
]);
$this
->drupalGet('user');
$page = $this
->getSession()
->getPage();
$this
->toggleContextualTriggerVisibility('#block-custom');
$page
->find('css', '#block-custom .contextual button')
->press();
$links = $page
->findAll('css', "#block-custom .contextual-links li a");
$link_labels = [];
/** @var \Behat\Mink\Element\NodeElement $link */
foreach ($links as $link) {
$link_labels[$link
->getAttribute('href')] = $link
->getText();
}
$href = array_search('Quick edit', $link_labels);
$this
->assertEquals('', $href);
$href = array_search('Quick edit settings', $link_labels);
$destination = (string) $this->loggedInUser
->toUrl()
->toString();
$this
->assertTrue(strstr($href, "/admin/structure/block/manage/custom/settings-tray?destination={$destination}") !== FALSE);
}