Mercurial > hg > isophonics-drupal-site
view core/modules/comment/tests/src/Functional/CommentActionsTest.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children | 1fec387a4317 |
line wrap: on
line source
<?php namespace Drupal\Tests\comment\Functional; use Drupal\comment\Entity\Comment; use Drupal\system\Entity\Action; /** * Tests actions provided by the Comment module. * * @group comment */ class CommentActionsTest extends CommentTestBase { /** * Modules to install. * * @var array */ public static $modules = ['dblog', 'action']; /** * Tests comment publish and unpublish actions. */ public function testCommentPublishUnpublishActions() { $this->drupalLogin($this->webUser); $comment_text = $this->randomMachineName(); $subject = $this->randomMachineName(); $comment = $this->postComment($this->node, $comment_text, $subject); // Unpublish a comment. $action = Action::load('comment_unpublish_action'); $action->execute([$comment]); $this->assertTrue($comment->isPublished() === FALSE, 'Comment was unpublished'); // Publish a comment. $action = Action::load('comment_publish_action'); $action->execute([$comment]); $this->assertTrue($comment->isPublished() === TRUE, 'Comment was published'); } /** * Tests the unpublish comment by keyword action. */ 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.'); } }