function MediaStandardProfileTest::testMediaSources

Same name and namespace in other branches
  1. 9 core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php \Drupal\Tests\media\FunctionalJavascript\MediaStandardProfileTest::testMediaSources()
  2. 8.9.x core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php \Drupal\Tests\media\FunctionalJavascript\MediaStandardProfileTest::testMediaSources()
  3. 10 core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php \Drupal\Tests\media\FunctionalJavascript\MediaStandardProfileTest::testMediaSources()

Tests all media sources in one method.

This prevents installing the standard profile for every test case and increases the performance of this test.

File

core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php, line 51

Class

MediaStandardProfileTest
Basic tests for Media configuration in the standard profile.

Namespace

Drupal\Tests\media\FunctionalJavascript

Code

public function testMediaSources() : void {
    // This test currently frequently causes the SQLite database to lock, so
    // skip the test on SQLite until the issue can be resolved.
    // @todo https://www.drupal.org/project/drupal/issues/3273626
    if (Database::getConnection()->driver() === 'sqlite') {
        $this->markTestSkipped('Test frequently causes a locked database on SQLite');
    }
    $storage = FieldStorageConfig::create([
        'entity_type' => 'node',
        'field_name' => 'field_related_media',
        'type' => 'entity_reference',
        'settings' => [
            'target_type' => 'media',
        ],
    ]);
    $storage->save();
    FieldConfig::create([
        'field_storage' => $storage,
        'entity_type' => 'node',
        'bundle' => 'article',
        'label' => 'Related media',
        'settings' => [
            'handler_settings' => [
                'target_bundles' => [
                    'audio' => 'audio',
                    'document' => 'document',
                    'image' => 'image',
                    'remote_video' => 'remote_video',
                    'video' => 'video',
                ],
            ],
        ],
    ])->save();
    $display = EntityViewDisplay::load('node.article.default');
    $display->setComponent('field_related_media', [
        'type' => 'entity_reference_entity_view',
        'settings' => [
            'view_mode' => 'full',
        ],
    ])
        ->save();
    $this->audioTest();
    $this->documentTest();
    $this->imageTest();
    $this->remoteVideoTest();
    $this->videoTest();
}

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