You are here

protected function WorkspaceTestUtilities::createNodeThroughUi in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/workspaces/tests/src/Functional/WorkspaceTestUtilities.php \Drupal\Tests\workspaces\Functional\WorkspaceTestUtilities::createNodeThroughUi()
  2. 9 core/modules/workspaces/tests/src/Functional/WorkspaceTestUtilities.php \Drupal\Tests\workspaces\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

File

core/modules/workspaces/tests/src/Functional/WorkspaceTestUtilities.php, line 140

Class

WorkspaceTestUtilities
Utility methods for use in BrowserTestBase tests.

Namespace

Drupal\Tests\workspaces\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);
}