annotate core/modules/media/tests/src/FunctionalJavascript/MediaJavascriptTestBase.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\media\FunctionalJavascript;
Chris@0 4
Chris@17 5 use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
Chris@0 6 use Drupal\Tests\media\Functional\MediaFunctionalTestTrait;
Chris@17 7 use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
Chris@0 8
Chris@0 9 /**
Chris@0 10 * Base class for Media functional JavaScript tests.
Chris@0 11 */
Chris@17 12 abstract class MediaJavascriptTestBase extends WebDriverTestBase {
Chris@0 13
Chris@0 14 use MediaFunctionalTestTrait;
Chris@17 15 use MediaTypeCreationTrait;
Chris@0 16
Chris@0 17 /**
Chris@0 18 * Modules to enable.
Chris@0 19 *
Chris@0 20 * @var array
Chris@0 21 */
Chris@0 22 public static $modules = [
Chris@0 23 'system',
Chris@0 24 'node',
Chris@0 25 'field_ui',
Chris@0 26 'views_ui',
Chris@0 27 'media',
Chris@0 28 'media_test_source',
Chris@0 29 ];
Chris@0 30
Chris@0 31 /**
Chris@0 32 * Waits and asserts that a given element is visible.
Chris@0 33 *
Chris@0 34 * @param string $selector
Chris@0 35 * The CSS selector.
Chris@0 36 * @param int $timeout
Chris@0 37 * (Optional) Timeout in milliseconds, defaults to 1000.
Chris@0 38 * @param string $message
Chris@0 39 * (Optional) Message to pass to assertJsCondition().
Chris@0 40 */
Chris@0 41 protected function waitUntilVisible($selector, $timeout = 1000, $message = '') {
Chris@0 42 $condition = "jQuery('" . $selector . ":visible').length > 0";
Chris@0 43 $this->assertJsCondition($condition, $timeout, $message);
Chris@0 44 }
Chris@0 45
Chris@17 46 /**
Chris@17 47 * Asserts that a link to a new media item is displayed in the messages area.
Chris@17 48 *
Chris@17 49 * @return string
Chris@17 50 * The link URL.
Chris@17 51 */
Chris@17 52 protected function assertLinkToCreatedMedia() {
Chris@17 53 $assert_session = $this->assertSession();
Chris@17 54 $selector = '.messages a';
Chris@17 55
Chris@17 56 // Get the canonical media entity URL from the creation message.
Chris@17 57 $link = $assert_session->elementExists('css', $selector);
Chris@17 58 $assert_session->elementAttributeExists('css', $selector, 'href');
Chris@17 59
Chris@17 60 return $link->getAttribute('href');
Chris@17 61 }
Chris@17 62
Chris@0 63 }