class MediaSourceFileTest

Same name in this branch
  1. 9 core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php \Drupal\Tests\media\FunctionalJavascript\MediaSourceFileTest
  2. 9 core/modules/media/tests/src/Kernel/MediaSourceFileTest.php \Drupal\Tests\media\Kernel\MediaSourceFileTest
Same name and namespace in other branches
  1. 10 core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php \Drupal\Tests\media\FunctionalJavascript\MediaSourceFileTest
  2. 10 core/modules/media/tests/src/Kernel/MediaSourceFileTest.php \Drupal\Tests\media\Kernel\MediaSourceFileTest
  3. 10 core/modules/media/tests/src/Functional/MediaSourceFileTest.php \Drupal\Tests\media\Functional\MediaSourceFileTest
  4. 11.x core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php \Drupal\Tests\media\FunctionalJavascript\MediaSourceFileTest
  5. 11.x core/modules/media/tests/src/Kernel/MediaSourceFileTest.php \Drupal\Tests\media\Kernel\MediaSourceFileTest
  6. 11.x core/modules/media/tests/src/Functional/MediaSourceFileTest.php \Drupal\Tests\media\Functional\MediaSourceFileTest
  7. 8.9.x core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php \Drupal\Tests\media\FunctionalJavascript\MediaSourceFileTest
  8. 8.9.x core/modules/media/tests/src/Kernel/MediaSourceFileTest.php \Drupal\Tests\media\Kernel\MediaSourceFileTest
  9. 8.9.x core/modules/media/tests/src/Functional/MediaSourceFileTest.php \Drupal\Tests\media\Functional\MediaSourceFileTest

Tests the file media source.

@group media

Hierarchy

Expanded class hierarchy of MediaSourceFileTest

File

core/modules/media/tests/src/Functional/MediaSourceFileTest.php, line 12

Namespace

Drupal\Tests\media\Functional
View source
class MediaSourceFileTest extends MediaFunctionalTestBase {
  
  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';
  
  /**
   * Tests that it's possible to change the allowed file extensions.
   */
  public function testSourceFieldSettingsEditing() {
    $session = $this->getSession();
    $page = $session->getPage();
    $assert_session = $this->assertSession();
    $media_type = $this->createMediaType('file');
    $media_type_id = $media_type->id();
    $this->assertSame('txt doc docx pdf', FieldConfig::load("media.{$media_type_id}.field_media_file")->get('settings')['file_extensions']);
    $this->drupalGet("admin/structure/media/manage/{$media_type_id}/fields/media.{$media_type_id}.field_media_file");
    // File extension field exists.
    $assert_session->fieldExists('Allowed file extensions');
    // Add another extension.
    $page->fillField('settings[file_extensions]', 'txt, doc, docx, pdf, odt');
    $page->pressButton('Save settings');
    $this->drupalGet("admin/structure/media/manage/{$media_type_id}/fields/media.{$media_type_id}.field_media_file");
    // Verify that new extension is present.
    $assert_session->fieldValueEquals('settings[file_extensions]', 'txt, doc, docx, pdf, odt');
    $this->assertSame('txt doc docx pdf odt', FieldConfig::load("media.{$media_type_id}.field_media_file")->get('settings')['file_extensions']);
  }
  
  /**
   * Ensure source field deletion is not possible.
   */
  public function testPreventSourceFieldDeletion() {
    $media_type = $this->createMediaType('file');
    $media_type_id = $media_type->id();
    $this->drupalGet("admin/structure/media/manage/{$media_type_id}/fields/media.{$media_type_id}.field_media_file/delete");
    $this->assertSession()
      ->statusCodeEquals(403);
  }

}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.