3 namespace Drupal\Tests\media\FunctionalJavascript;
5 use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
6 use Drupal\Tests\media\Functional\MediaFunctionalTestTrait;
7 use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
10 * Base class for Media functional JavaScript tests.
12 abstract class MediaJavascriptTestBase extends WebDriverTestBase {
14 use MediaFunctionalTestTrait;
15 use MediaTypeCreationTrait;
22 public static $modules = [
32 * Waits and asserts that a given element is visible.
34 * @param string $selector
37 * (Optional) Timeout in milliseconds, defaults to 1000.
38 * @param string $message
39 * (Optional) Message to pass to assertJsCondition().
41 protected function waitUntilVisible($selector, $timeout = 1000, $message = '') {
42 $condition = "jQuery('" . $selector . ":visible').length > 0";
43 $this->assertJsCondition($condition, $timeout, $message);
47 * Asserts that a link to a new media item is displayed in the messages area.
52 protected function assertLinkToCreatedMedia() {
53 $assert_session = $this->assertSession();
54 $selector = '.messages a';
56 // Get the canonical media entity URL from the creation message.
57 $link = $assert_session->elementExists('css', $selector);
58 $assert_session->elementAttributeExists('css', $selector, 'href');
60 return $link->getAttribute('href');