You are here

function CommentNodeChangesTest::testNodeDeletion in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/comment/src/Tests/CommentNodeChangesTest.php \Drupal\comment\Tests\CommentNodeChangesTest::testNodeDeletion()

Tests that comments are deleted with the node.

File

core/modules/comment/src/Tests/CommentNodeChangesTest.php, line 24
Contains \Drupal\comment\Tests\CommentNodeChangesTest.

Class

CommentNodeChangesTest
Tests that comments behave correctly when the node is changed.

Namespace

Drupal\comment\Tests

Code

function testNodeDeletion() {
  $this
    ->drupalLogin($this->webUser);
  $comment = $this
    ->postComment($this->node, $this
    ->randomMachineName(), $this
    ->randomMachineName());
  $this
    ->assertTrue($comment
    ->id(), 'The comment could be loaded.');
  $this->node
    ->delete();
  $this
    ->assertFalse(Comment::load($comment
    ->id()), 'The comment could not be loaded after the node was deleted.');

  // Make sure the comment field storage and all its fields are deleted when
  // the node type is deleted.
  $this
    ->assertNotNull(FieldStorageConfig::load('node.comment'), 'Comment field storage exists');
  $this
    ->assertNotNull(FieldConfig::load('node.article.comment'), 'Comment field exists');

  // Delete the node type.
  entity_delete_multiple('node_type', array(
    $this->node
      ->bundle(),
  ));
  $this
    ->assertNull(FieldStorageConfig::load('node.comment'), 'Comment field storage deleted');
  $this
    ->assertNull(FieldConfig::load('node.article.comment'), 'Comment field deleted');
}