Further Drupal 8.6.4 changes. Some core files were not committed before a commit...
[yaffs-website] / web / core / modules / media / tests / src / Functional / MediaSourceFileTest.php
1 <?php
2
3 namespace Drupal\Tests\media\Functional;
4
5 use Drupal\field\Entity\FieldConfig;
6
7 /**
8  * Tests the file media source.
9  *
10  * @group media
11  */
12 class MediaSourceFileTest extends MediaFunctionalTestBase {
13
14   /**
15    * Test that it's possible to change the allowed file extensions.
16    */
17   public function testSourceFieldSettingsEditing() {
18     $session = $this->getSession();
19     $page = $session->getPage();
20     $assert_session = $this->assertSession();
21
22     $media_type = $this->createMediaType('file');
23     $media_type_id = $media_type->id();
24     $this->assertSame('txt doc docx pdf', FieldConfig::load("media.$media_type_id.field_media_file")->get('settings')['file_extensions']);
25
26     $this->drupalGet("admin/structure/media/manage/$media_type_id/fields/media.$media_type_id.field_media_file");
27
28     // File extension field exists.
29     $assert_session->fieldExists('Allowed file extensions');
30
31     // Add another extension.
32     $page->fillField('settings[file_extensions]', 'txt, doc, docx, pdf, odt');
33
34     $page->pressButton('Save settings');
35     $this->drupalGet("admin/structure/media/manage/$media_type_id/fields/media.$media_type_id.field_media_file");
36
37     // Verify that new extension is present.
38     $assert_session->fieldValueEquals('settings[file_extensions]', 'txt, doc, docx, pdf, odt');
39     $this->assertSame('txt doc docx pdf odt', FieldConfig::load("media.$media_type_id.field_media_file")->get('settings')['file_extensions']);
40   }
41
42   /**
43    * Ensure source field deletion is not possible.
44    */
45   public function testPreventSourceFieldDeletion() {
46     $media_type = $this->createMediaType('file');
47     $media_type_id = $media_type->id();
48
49     $this->drupalGet("admin/structure/media/manage/$media_type_id/fields/media.$media_type_id.field_media_file/delete");
50     $this->assertSession()->statusCodeEquals(403);
51   }
52
53 }