You are here

public function JSWebAssert::statusMessageExistsAfterWait in Drupal 10

Asserts that a status message exists after wait.

Parameters

string|null $type: The optional message type: status, error, or warning.

int $timeout: Optional timeout in milliseconds, defaults to 10000.

File

core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php, line 537

Class

JSWebAssert
Defines a class with methods for asserting presence of elements during tests.

Namespace

Drupal\FunctionalJavascriptTests

Code

public function statusMessageExistsAfterWait(string $type = NULL, int $timeout = 10000) : void {
  $selector = $this
    ->buildJavascriptStatusMessageSelector(NULL, $type);
  $status_message_element = $this
    ->waitForElement('xpath', $selector, $timeout);
  if ($type) {
    $failure_message = sprintf('A status message of type "%s" does not appear on this page, but it should.', $type);
  }
  else {
    $failure_message = 'A status message does not appear on this page, but it should.';
  }

  // There is no Assert::isNotNull() method, so we make our own constraint.
  $constraint = new LogicalNot(new IsNull());
  Assert::assertThat($status_message_element, $constraint, $failure_message);
}