You are here

protected function WorkspaceTestUtilities::createNodeThroughUi in Workspace 8.2

Same name and namespace in other branches
  1. 8 tests/src/Functional/WorkspaceTestUtilities.php \Drupal\Tests\workspace\Functional\WorkspaceTestUtilities::createNodeThroughUI()

Creates a node by "clicking" buttons.

Parameters

string $label: The label of the Node to create.

string $bundle: The bundle of the Node to create.

bool $publish: The publishing status to set.

Return value

\Drupal\node\NodeInterface The Node that was just created.

Throws

\Behat\Mink\Exception\ElementNotFoundException

2 calls to WorkspaceTestUtilities::createNodeThroughUi()
WorkspaceBypassTest::testBypassOwnWorkspace in tests/src/Functional/WorkspaceBypassTest.php
Verifies that a user can edit anything in a workspace they own.
WorkspaceConcurrentEditingTest::testSwitchingWorkspaces in tests/src/Functional/WorkspaceConcurrentEditingTest.php
Test switching workspace via the switcher block and admin page.

File

tests/src/Functional/WorkspaceTestUtilities.php, line 119

Class

WorkspaceTestUtilities
Utility methods for use in BrowserTestBase tests.

Namespace

Drupal\Tests\workspace\Functional

Code

protected function createNodeThroughUi($label, $bundle, $publish = TRUE) {
  $this
    ->drupalGet('/node/add/' . $bundle);

  /** @var \Behat\Mink\Session $session */
  $session = $this
    ->getSession();
  $this
    ->assertSession()
    ->statusCodeEquals(200);

  /** @var \Behat\Mink\Element\DocumentElement $page */
  $page = $session
    ->getPage();
  $page
    ->fillField('Title', $label);
  if ($publish) {
    $page
      ->findButton('Save')
      ->click();
  }
  else {
    $page
      ->uncheckField('Published');
    $page
      ->findButton('Save')
      ->click();
  }
  $session
    ->getPage()
    ->hasContent("{$label} has been created");
  return $this
    ->getOneEntityByLabel('node', $label);
}