public function CommentUninstallTest::testCommentUninstallWithoutField in Drupal 9
Same name and namespace in other branches
- 8 core/modules/comment/tests/src/Kernel/CommentUninstallTest.php \Drupal\Tests\comment\Kernel\CommentUninstallTest::testCommentUninstallWithoutField()
Tests if uninstallation succeeds if the field has been deleted beforehand.
File
- core/
modules/ comment/ tests/ src/ Kernel/ CommentUninstallTest.php, line 70
Class
- CommentUninstallTest
- Tests comment module uninstall.
Namespace
Drupal\Tests\comment\KernelCode
public function testCommentUninstallWithoutField() {
// Tests if uninstall succeeds if the field has been deleted beforehand.
// Manually delete the comment_body field before module uninstall.
FieldStorageConfig::loadByName('comment', 'comment_body')
->delete();
// Check that the field is now deleted.
$field_storage = FieldStorageConfig::loadByName('comment', 'comment_body');
$this
->assertNull($field_storage);
// Manually delete the comment field on the node before module uninstall.
$field_storage = FieldStorageConfig::loadByName('node', 'comment');
$this
->assertNotNull($field_storage);
$field_storage
->delete();
// Check that the field is now deleted.
$field_storage = FieldStorageConfig::loadByName('node', 'comment');
$this
->assertNull($field_storage);
field_purge_batch(10);
// Ensure that uninstall succeeds even if the field has already been deleted
// manually beforehand.
$this->container
->get('module_installer')
->uninstall([
'comment',
]);
}