assertSession(); $page = $this->getSession()->getPage(); $source_id = 'audio_file'; $type_name = 'audio_type'; $field_name = 'field_media_' . $source_id; $this->doTestCreateMediaType($type_name, $source_id); // Check that the source field was created with the correct settings. $storage = FieldStorageConfig::load("media.$field_name"); $this->assertInstanceOf(FieldStorageConfig::class, $storage); $field = FieldConfig::load("media.$type_name.$field_name"); $this->assertInstanceOf(FieldConfig::class, $field); $this->assertSame('mp3 wav aac', FieldConfig::load("media.$type_name.$field_name")->get('settings')['file_extensions']); // Check that the display holds the correct formatter configuration. $display = EntityViewDisplay::load("media.$type_name.default"); $this->assertInstanceOf(EntityViewDisplay::class, $display); $formatter = $display->getComponent($field_name)['type']; $this->assertSame('file_audio', $formatter); // Create a media asset. file_put_contents('public://file.mp3', str_repeat('t', 10)); $file = File::create([ 'uri' => 'public://file.mp3', 'filename' => 'file.mp3', ]); $file->save(); $this->drupalGet("media/add/$type_name"); $page->fillField('Name', 'Audio media asset'); $page->attachFileToField("files[{$field_name}_0]", \Drupal::service('file_system')->realpath('public://file.mp3')); $result = $assert_session->waitForButton('Remove'); $this->assertNotEmpty($result); $page->pressButton('Save'); // Verify that there is a creation message and that it contains a link to // the media entity. $assert_session->pageTextContains("$type_name Audio media asset has been created."); $this->drupalGet($this->assertLinkToCreatedMedia()); // Verify that the