diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php index 9cf467b61c727c6659405bbd97fcfa2a5ded98a2..6cc7936fe54e240cdee53bfc93017e8cf3fd4802 100644 --- a/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php +++ b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php @@ -46,7 +46,8 @@ public function testMediaFileSource() { // Create a media item. $this->drupalGet("media/add/{$media_type_id}"); $page->attachFileToField("files[{$source_field_id}_0]", \Drupal::service('file_system')->realpath($test_filepath)); - $assert_session->assertWaitOnAjaxRequest(); + $result = $assert_session->waitForButton('Remove'); + $this->assertNotEmpty($result); $page->pressButton('Save'); $assert_session->addressEquals('media/1'); @@ -63,7 +64,8 @@ public function testMediaFileSource() { file_unmanaged_copy($icon_base . '/generic.png', $icon_base . '/text--plain.png'); $this->drupalGet("media/add/{$media_type_id}"); $page->attachFileToField("files[{$source_field_id}_0]", \Drupal::service('file_system')->realpath($test_filepath)); - $assert_session->assertWaitOnAjaxRequest(); + $result = $assert_session->waitForButton('Remove'); + $this->assertNotEmpty($result); $page->pressButton('Save'); $assert_session->elementAttributeContains('css', '.image-style-thumbnail', 'src', 'text--plain.png'); } diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php index 1aa3fe0b856893e8252e7c4e716493b71ad9da0d..33fe10d8e5fd0c278eea56a32d3c556e2fed5574 100644 --- a/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php +++ b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php @@ -60,7 +60,8 @@ public function testMediaImageSource() { // Create a media item. $this->drupalGet("media/add/{$media_type_id}"); $page->attachFileToField("files[{$source_field_id}_0]", \Drupal::root() . '/core/modules/media/tests/fixtures/example_1.jpeg'); - $assert_session->assertWaitOnAjaxRequest(); + $result = $assert_session->waitForButton('Remove'); + $this->assertNotEmpty($result); $page->fillField("{$source_field_id}[0][alt]", 'Image Alt Text 1'); $page->pressButton('Save'); diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaSourceTestBase.php b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceTestBase.php index 24cd13426605b30f868a0c2869c68e050a0dfb94..c6ea4ec7dbad3a0d2bc22982fde9c487646e2540 100644 --- a/core/modules/media/tests/src/FunctionalJavascript/MediaSourceTestBase.php +++ b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceTestBase.php @@ -112,11 +112,13 @@ public function doTestCreateMediaType($media_type_id, $source_id, array $provide $assert_session->fieldExists('Media source'); $assert_session->optionExists('Media source', $source_id); $page->selectFieldOption('Media source', $source_id); - $assert_session->assertWaitOnAjaxRequest(); + $result = $assert_session->waitForElementVisible('css', 'fieldset[data-drupal-selector="edit-source-configuration"]'); + $this->assertNotEmpty($result); // Make sure the provided fields are visible on the form. foreach ($provided_fields as $provided_field) { - $assert_session->selectExists("field_map[{$provided_field}]"); + $result = $assert_session->waitForElementVisible('css', 'select[name="field_map[' . $provided_field . ']"]'); + $this->assertNotEmpty($result); } // Save the form to create the type. diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaTypeCreationTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaTypeCreationTest.php index bd263b5576e559267fb99ba3bac3861a8c3cce54..efbe28849b19b308e28ee736f4f22e4145cc103f 100644 --- a/core/modules/media/tests/src/FunctionalJavascript/MediaTypeCreationTest.php +++ b/core/modules/media/tests/src/FunctionalJavascript/MediaTypeCreationTest.php @@ -13,24 +13,27 @@ class MediaTypeCreationTest extends MediaJavascriptTestBase { * Tests the media type creation form. */ public function testMediaTypeCreationFormWithDefaultField() { + $session = $this->getSession(); + $page = $session->getPage(); + $assert_session = $this->assertSession(); + $label = 'Type with Default Field'; $mediaTypeMachineName = str_replace(' ', '_', strtolower($label)); $this->drupalGet('admin/structure/media/add'); - $page = $this->getSession()->getPage(); // Fill in a label to the media type. $page->fillField('label', $label); // Wait for machine name generation. Default: waitUntilVisible(), does not // work properly. - $this->getSession() - ->wait(5000, "jQuery('.machine-name-value').text() === '{$mediaTypeMachineName}'"); + $session->wait(5000, "jQuery('.machine-name-value').text() === '{$mediaTypeMachineName}'"); // Select the media source used by our media type. - $this->assertSession()->fieldExists('Media source'); - $this->assertSession()->optionExists('Media source', 'test'); + $assert_session->fieldExists('Media source'); + $assert_session->optionExists('Media source', 'test'); $page->selectFieldOption('Media source', 'test'); - $this->assertSession()->assertWaitOnAjaxRequest(); + $result = $assert_session->waitForElementVisible('css', 'fieldset[data-drupal-selector="edit-source-configuration"]'); + $this->assertNotEmpty($result); $page->pressButton('Save'); @@ -38,51 +41,51 @@ public function testMediaTypeCreationFormWithDefaultField() { $this->drupalGet("admin/structure/media/manage/{$mediaTypeMachineName}/fields"); // Check 2nd column of first data row, to be machine name for field name. - $this->assertSession() - ->elementContains('xpath', '(//table[@id="field-overview"]//tr)[2]//td[2]', 'field_media_test'); + $assert_session->elementContains('xpath', '(//table[@id="field-overview"]//tr)[2]//td[2]', 'field_media_test'); // Check 3rd column of first data row, to be correct field type. - $this->assertSession() - ->elementTextContains('xpath', '(//table[@id="field-overview"]//tr)[2]//td[3]', 'Text (plain)'); + $assert_session->elementTextContains('xpath', '(//table[@id="field-overview"]//tr)[2]//td[3]', 'Text (plain)'); // Check that the source field is correctly assigned to media type. $this->drupalGet("admin/structure/media/manage/{$mediaTypeMachineName}"); - $this->assertSession()->pageTextContains('Test source field is used to store the essential information about the media item.'); + $assert_session->pageTextContains('Test source field is used to store the essential information about the media item.'); } /** * Test creation of media type, reusing an existing source field. */ public function testMediaTypeCreationReuseSourceField() { + $session = $this->getSession(); + $page = $session->getPage(); + $assert_session = $this->assertSession(); + // Create a new media type, which should create a new field we can reuse. $this->drupalGet('/admin/structure/media/add'); - $page = $this->getSession()->getPage(); $page->fillField('label', 'Pastafazoul'); - $this->getSession() - ->wait(5000, "jQuery('.machine-name-value').text() === 'pastafazoul'"); + $session->wait(5000, "jQuery('.machine-name-value').text() === 'pastafazoul'"); $page->selectFieldOption('Media source', 'test'); - $this->assertSession()->assertWaitOnAjaxRequest(); + $result = $assert_session->waitForElementVisible('css', 'fieldset[data-drupal-selector="edit-source-configuration"]'); + $this->assertNotEmpty($result); $page->pressButton('Save'); $label = 'Type reusing Default Field'; $mediaTypeMachineName = str_replace(' ', '_', strtolower($label)); $this->drupalGet('admin/structure/media/add'); - $page = $this->getSession()->getPage(); // Fill in a label to the media type. $page->fillField('label', $label); // Wait for machine name generation. Default: waitUntilVisible(), does not // work properly. - $this->getSession() - ->wait(5000, "jQuery('.machine-name-value').text() === '{$mediaTypeMachineName}'"); + $session->wait(5000, "jQuery('.machine-name-value').text() === '{$mediaTypeMachineName}'"); // Select the media source used by our media type. - $this->assertSession()->fieldExists('Media source'); - $this->assertSession()->optionExists('Media source', 'test'); + $assert_session->fieldExists('Media source'); + $assert_session->optionExists('Media source', 'test'); $page->selectFieldOption('Media source', 'test'); - $this->assertSession()->assertWaitOnAjaxRequest(); + $result = $assert_session->waitForElementVisible('css', 'fieldset[data-drupal-selector="edit-source-configuration"]'); + $this->assertNotEmpty($result); // Select the existing field for re-use. $page->selectFieldOption('source_configuration[source_field]', 'field_media_test'); $page->pressButton('Save'); @@ -90,9 +93,9 @@ public function testMediaTypeCreationReuseSourceField() { // Check that no new fields were created. $this->drupalGet("admin/structure/media/manage/{$mediaTypeMachineName}/fields"); // The reused field should be present... - $this->assertSession()->pageTextContains('field_media_test'); + $assert_session->pageTextContains('field_media_test'); // ...not a new, unique one. - $this->assertSession()->pageTextNotContains('field_media_test_1'); + $assert_session->pageTextNotContains('field_media_test_1'); } } diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php index 80fa633bac7c609ff50b9fe70ee413576978133f..38a6227440aae5ce65aaf8573b4a27e324a11dd0 100644 --- a/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php +++ b/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php @@ -120,7 +120,8 @@ public function testMediaTypes() { // Try to change media type and check if new configuration sub-form appears. $page->selectFieldOption('source', 'test'); - $assert_session->assertWaitOnAjaxRequest(); + $result = $assert_session->waitForElementVisible('css', 'fieldset[data-drupal-selector="edit-source-configuration"]'); + $this->assertNotEmpty($result); $assert_session->fieldExists('Test config value'); $assert_session->fieldValueEquals('Test config value', 'This is default value.'); $assert_session->fieldExists('Attribute 1'); diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaViewsWizardTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaViewsWizardTest.php index 7b91c6ea3c7a4839ab704fe70c4d9335563e8e73..94e89c6aeee892a819651a8c9d418b1233f85625 100644 --- a/core/modules/media/tests/src/FunctionalJavascript/MediaViewsWizardTest.php +++ b/core/modules/media/tests/src/FunctionalJavascript/MediaViewsWizardTest.php @@ -27,7 +27,8 @@ public function testMediaWizard() { $page->fillField('label', $view_id); $this->waitUntilVisible('.machine-name-value'); $page->selectFieldOption('show[wizard_key]', 'media'); - $assert_session->assertWaitOnAjaxRequest(); + $result = $assert_session->waitForElementVisible('css', 'select[data-drupal-selector="edit-show-type"]'); + $this->assertNotEmpty($result); $page->checkField('page[create]'); $page->fillField('page[path]', $this->randomMachineName(16)); $page->pressButton('Save and edit');