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 }
|