public function BlockUiTest::testCandidateBlockList in Drupal 9
Same name and namespace in other branches
- 8 core/modules/block/tests/src/Functional/BlockUiTest.php \Drupal\Tests\block\Functional\BlockUiTest::testCandidateBlockList()
Tests the block categories on the listing page.
File
- core/
modules/ block/ tests/ src/ Functional/ BlockUiTest.php, line 176
Class
- BlockUiTest
- Tests that the block configuration UI exists and stores data correctly.
Namespace
Drupal\Tests\block\FunctionalCode
public function testCandidateBlockList() {
$arguments = [
':title' => 'Display message',
':category' => 'Block test',
':href' => 'admin/structure/block/add/test_block_instantiation/classy',
];
$pattern = '//tr[.//td/div[text()=:title] and .//td[text()=:category] and .//td//a[contains(@href, :href)]]';
$this
->drupalGet('admin/structure/block');
$this
->clickLink('Place block');
$elements = $this
->xpath($pattern, $arguments);
$this
->assertTrue(!empty($elements), 'The test block appears in the category for its module.');
// Trigger the custom category addition in block_test_block_alter().
$this->container
->get('state')
->set('block_test_info_alter', TRUE);
$this->container
->get('plugin.manager.block')
->clearCachedDefinitions();
$this
->drupalGet('admin/structure/block');
$this
->clickLink('Place block');
$arguments[':category'] = 'Custom category';
$elements = $this
->xpath($pattern, $arguments);
$this
->assertTrue(!empty($elements), 'The test block appears in a custom category controlled by block_test_block_alter().');
}