function CommentActionsTest::testCommentUnpublishByKeyword

Same name and namespace in other branches
  1. 9 core/modules/comment/tests/src/Kernel/CommentActionsTest.php \Drupal\Tests\comment\Kernel\CommentActionsTest::testCommentUnpublishByKeyword()
  2. 10 core/modules/comment/tests/src/Kernel/CommentActionsTest.php \Drupal\Tests\comment\Kernel\CommentActionsTest::testCommentUnpublishByKeyword()
  3. 11.x core/modules/comment/tests/src/Kernel/CommentActionsTest.php \Drupal\Tests\comment\Kernel\CommentActionsTest::testCommentUnpublishByKeyword()

Tests the unpublish comment by keyword action.

File

core/modules/comment/tests/src/Functional/CommentActionsTest.php, line 50

Class

CommentActionsTest
Tests actions provided by the Comment module.

Namespace

Drupal\Tests\comment\Functional

Code

public function testCommentUnpublishByKeyword() {
    $this->drupalLogin($this->adminUser);
    $keyword_1 = $this->randomMachineName();
    $keyword_2 = $this->randomMachineName();
    $action = Action::create([
        'id' => 'comment_unpublish_by_keyword_action',
        'label' => $this->randomMachineName(),
        'type' => 'comment',
        'configuration' => [
            'keywords' => [
                $keyword_1,
                $keyword_2,
            ],
        ],
        'plugin' => 'comment_unpublish_by_keyword_action',
    ]);
    $action->save();
    $comment = $this->postComment($this->node, $keyword_2, $this->randomMachineName());
    // Load the full comment so that status is available.
    $comment = Comment::load($comment->id());
    $this->assertTrue($comment->isPublished() === TRUE, 'The comment status was set to published.');
    $action->execute([
        $comment,
    ]);
    $this->assertTrue($comment->isPublished() === FALSE, 'The comment status was set to not published.');
}

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