function CommentUninstallTest::testCommentUninstallWithoutField

Same name and namespace in other branches
  1. 9 core/modules/comment/tests/src/Kernel/CommentUninstallTest.php \Drupal\Tests\comment\Kernel\CommentUninstallTest::testCommentUninstallWithoutField()
  2. 8.9.x core/modules/comment/tests/src/Kernel/CommentUninstallTest.php \Drupal\Tests\comment\Kernel\CommentUninstallTest::testCommentUninstallWithoutField()
  3. 10 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 75

Class

CommentUninstallTest
Tests comment module uninstall.

Namespace

Drupal\Tests\comment\Kernel

Code

public function testCommentUninstallWithoutField() : void {
    // 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',
    ]);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.