function CommentActionsTestCase::testCommentUnpublishByKeyword

Tests the unpublish comment by keyword action.

File

modules/comment/comment.test, line 1999

Class

CommentActionsTestCase
Test actions provided by the comment module.

Code

public function testCommentUnpublishByKeyword() {
    $this->drupalLogin($this->admin_user);
    $callback = 'comment_unpublish_by_keyword_action';
    $hash = drupal_hash_base64($callback);
    $comment_text = $keywords = $this->randomName();
    $edit = array(
        'actions_label' => $callback,
        'keywords' => $keywords,
    );
    $this->drupalPost("admin/config/system/actions/configure/{$hash}", $edit, t('Save'));
    $action = db_query("SELECT aid, type, callback, parameters, label FROM {actions} WHERE callback = :callback", array(
        ':callback' => $callback,
    ))->fetchObject();
    $this->assertTrue($action, 'The action could be loaded.');
    $comment = $this->postComment($this->node, $comment_text, $this->randomName());
    // Load the full comment so that status is available.
    $comment = comment_load($comment->id);
    $this->assertTrue($comment->status == COMMENT_PUBLISHED, 'The comment status was set to published.');
    comment_unpublish_by_keyword_action($comment, array(
        'keywords' => array(
            $keywords,
        ),
    ));
    // We need to make sure that the comment has been saved with status
    // unpublished.
    $this->assertEqual(comment_load($comment->cid)->status, COMMENT_NOT_PUBLISHED, 'Comment was unpublished.');
    $this->assertWatchdogMessage('Unpublished comment %subject.', array(
        '%subject' => $comment->subject,
    ), 'Found watchdog message.');
    $this->clearWatchdog();
}

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