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