function BlockContentCreationTest::testBlockDelete
Same name in other branches
- 9 core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php \Drupal\Tests\block_content\Functional\BlockContentCreationTest::testBlockDelete()
- 8.9.x core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php \Drupal\Tests\block_content\Functional\BlockContentCreationTest::testBlockDelete()
- 11.x core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php \Drupal\Tests\block_content\Functional\BlockContentCreationTest::testBlockDelete()
Tests deleting a block.
File
-
core/
modules/ block_content/ tests/ src/ Functional/ BlockContentCreationTest.php, line 241
Class
- BlockContentCreationTest
- Create a block and test saving it.
Namespace
Drupal\Tests\block_content\FunctionalCode
public function testBlockDelete() : void {
// Create a block.
$edit = [];
$edit['info[0][value]'] = $this->randomMachineName(8);
$body = $this->randomMachineName(16);
$edit['body[0][value]'] = $body;
$this->drupalGet('block/add/basic');
$this->submitForm($edit, 'Save');
// Place the block.
$instance = [
'id' => mb_strtolower($edit['info[0][value]']),
'settings[label]' => $edit['info[0][value]'],
'region' => 'sidebar_first',
];
$block = BlockContent::load(1);
$url = 'admin/structure/block/add/block_content:' . $block->uuid() . '/' . $this->config('system.theme')
->get('default');
$this->drupalGet($url);
$this->submitForm($instance, 'Save block');
$block = BlockContent::load(1);
// Test getInstances method.
$this->assertCount(1, $block->getInstances());
// Navigate to home page.
$this->drupalGet('');
$this->assertSession()
->pageTextContains($body);
// Delete the block.
$this->drupalGet('admin/content/block/1/delete');
$this->assertSession()
->pageTextContains('This will also remove 1 placed block instance.');
$this->submitForm([], 'Delete');
$this->assertSession()
->pageTextContains('The content block ' . $edit['info[0][value]'] . ' has been deleted.');
// Create another block and force the plugin cache to flush.
$edit2 = [];
$edit2['info[0][value]'] = $this->randomMachineName(8);
$body2 = $this->randomMachineName(16);
$edit2['body[0][value]'] = $body2;
$this->drupalGet('block/add/basic');
$this->submitForm($edit2, 'Save');
$this->assertSession()
->responseNotContains('Error message');
// Create another block with no instances, and test we don't get a
// confirmation message about deleting instances.
$edit3 = [];
$edit3['info[0][value]'] = $this->randomMachineName(8);
$body = $this->randomMachineName(16);
$edit3['body[0][value]'] = $body;
$this->drupalGet('block/add/basic');
$this->submitForm($edit3, 'Save');
// Show the delete confirm form.
$this->drupalGet('admin/content/block/3/delete');
$this->assertSession()
->pageTextNotContains('This will also remove');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.