You are here

public function UnpublishByKeywordActionTest::testUnpublishByKeywordAction in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/node/tests/src/Kernel/Action/UnpublishByKeywordActionTest.php \Drupal\Tests\node\Kernel\Action\UnpublishByKeywordActionTest::testUnpublishByKeywordAction()
  2. 10 core/modules/node/tests/src/Kernel/Action/UnpublishByKeywordActionTest.php \Drupal\Tests\node\Kernel\Action\UnpublishByKeywordActionTest::testUnpublishByKeywordAction()

Tests creating an action using the node_unpublish_by_keyword_action plugin.

File

core/modules/node/tests/src/Kernel/Action/UnpublishByKeywordActionTest.php, line 36

Class

UnpublishByKeywordActionTest
@group node

Namespace

Drupal\Tests\node\Kernel\Action

Code

public function testUnpublishByKeywordAction() {

  /** @var \Drupal\node\Plugin\Action\UnpublishByKeywordNode $action */
  $action = Action::create([
    'id' => 'foo',
    'label' => 'Foobaz',
    'plugin' => 'node_unpublish_by_keyword_action',
    'configuration' => [
      'keywords' => [
        'test',
      ],
    ],
  ]);
  $action
    ->save();
  $node1 = Node::create([
    'type' => 'page',
    'title' => 'test',
    'uid' => 1,
  ]);
  $node1
    ->setPublished();
  $node1
    ->save();
  $node2 = Node::create([
    'type' => 'page',
    'title' => 'Another node',
    'uid' => 1,
  ]);
  $node2
    ->setPublished();
  $node2
    ->save();
  $this->container
    ->get('renderer')
    ->executeInRenderContext(new RenderContext(), function () use (&$node1, &$node2, $action) {
    $action
      ->execute([
      $node1,
      $node2,
    ]);
  });
  $this
    ->assertFalse($node1
    ->isPublished());
  $this
    ->assertTrue($node2
    ->isPublished());
}