annotate core/modules/media/tests/src/FunctionalJavascript/MediaReferenceFieldHelpTest.php @ 17:129ea1e6d783

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:21:36 +0000
parents 1fec387a4317
children
rev   line source
Chris@14 1 <?php
Chris@14 2
Chris@14 3 namespace Drupal\Tests\media\FunctionalJavascript;
Chris@14 4
Chris@14 5 use Drupal\Component\Utility\Html;
Chris@14 6
Chris@14 7 /**
Chris@14 8 * Tests related to media reference fields.
Chris@14 9 *
Chris@14 10 * @group media
Chris@14 11 */
Chris@14 12 class MediaReferenceFieldHelpTest extends MediaJavascriptTestBase {
Chris@14 13
Chris@14 14 /**
Chris@14 15 * Test our custom help texts when creating a field.
Chris@14 16 *
Chris@14 17 * @see media_form_field_ui_field_storage_add_form_alter()
Chris@14 18 */
Chris@14 19 public function testFieldCreationHelpText() {
Chris@14 20 $assert_session = $this->assertSession();
Chris@14 21 $page = $this->getSession()->getPage();
Chris@14 22
Chris@14 23 $type = $this->drupalCreateContentType([
Chris@14 24 'type' => 'foo',
Chris@14 25 ]);
Chris@14 26 $this->drupalGet("/admin/structure/types/manage/{$type->id()}/fields/add-field");
Chris@14 27
Chris@14 28 $field_types = [
Chris@14 29 'file',
Chris@14 30 'image',
Chris@14 31 'field_ui:entity_reference:media',
Chris@14 32 ];
Chris@14 33 $description_ids = array_map(function ($item) {
Chris@14 34 return '#edit-description-' . Html::cleanCssIdentifier($item);
Chris@14 35 }, $field_types);
Chris@14 36
Chris@14 37 // Choose a boolean field, none of the description containers should be
Chris@14 38 // visible.
Chris@14 39 $assert_session->optionExists('edit-new-storage-type', 'boolean');
Chris@14 40 $page->selectFieldOption('edit-new-storage-type', 'boolean');
Chris@14 41 foreach ($description_ids as $description_id) {
Chris@14 42 $this->assertFalse($assert_session->elementExists('css', $description_id)->isVisible());
Chris@14 43 }
Chris@14 44 // Select each of the file, image, and media fields and verify their
Chris@14 45 // descriptions are now visible and match the expected text.
Chris@14 46 $help_text = 'Use Media reference fields for most files, images, audio, videos, and remote media. Use File or Image reference fields when creating your own media types, or for legacy files and images created before enabling the Media module.';
Chris@14 47 foreach ($field_types as $field_name) {
Chris@14 48 $assert_session->optionExists('edit-new-storage-type', $field_name);
Chris@14 49 $page->selectFieldOption('edit-new-storage-type', $field_name);
Chris@14 50 $field_description_element = $assert_session->elementExists('css', '#edit-description-' . Html::cleanCssIdentifier($field_name));
Chris@14 51 $this->assertTrue($field_description_element->isVisible());
Chris@17 52 $this->assertSame($help_text, $field_description_element->getText());
Chris@14 53 }
Chris@14 54 }
Chris@14 55
Chris@14 56 }