You are here

public function ModerationSidebarTest::testModerationSidebar in Lightning Workflow 8.3

Tests basic Moderation Sidebar functionality.

File

tests/src/FunctionalJavascript/ModerationSidebarTest.php, line 47

Class

ModerationSidebarTest
Tests Lightning Workflow's integration with Moderation Sidebar.

Namespace

Drupal\Tests\lightning_workflow\FunctionalJavascript

Code

public function testModerationSidebar() {
  $assert_session = $this
    ->assertSession();
  $account = $this
    ->drupalCreateUser([
    'access toolbar',
    'edit own moderated content',
    'use editorial transition publish',
    'use editorial transition review',
    'use moderation sidebar',
    'view any unpublished content',
  ]);
  $this
    ->drupalLogin($account);
  $node = $this
    ->drupalCreateNode([
    'type' => 'moderated',
  ]);
  $this
    ->assertSame('draft', $node->moderation_state->value);
  $this
    ->drupalGet($node
    ->toUrl());
  $toolbar = $assert_session
    ->elementExists('css', '#toolbar-bar');
  $toolbar
    ->clickLink('Tasks');
  $sidebar = $assert_session
    ->waitForElementVisible('css', '.moderation-sidebar-container');
  $this
    ->assertNotEmpty($sidebar);
  $sidebar
    ->pressButton('Publish');
  $assert_session
    ->pageTextContains('The moderation state has been updated.');
  $this
    ->assertSame('Published', $assert_session
    ->elementExists('named', [
    'link',
    'Tasks',
  ], $toolbar)
    ->getAttribute('data-label'));
}