function MediaMappingUpdateTest::testMediaMappingUpdate

Tests updating Media types using source field in meta mappings.

See also

media_post_update_remove_mappings_targeting_source_field()

File

core/modules/media/tests/src/Functional/Update/MediaMappingUpdateTest.php, line 52

Class

MediaMappingUpdateTest
Tests update functions for the Media module.

Namespace

Drupal\Tests\media\Functional\Update

Code

public function testMediaMappingUpdate() : void {
    $media_type = $this->createMediaType('image', [
        'id' => 'invalid_mapping',
    ]);
    $source_field_name = $media_type->getSource()
        ->getSourceFieldDefinition($media_type)
        ->getName();
    $field_map = $media_type->getFieldMap();
    $field_map[File::METADATA_ATTRIBUTE_MIME] = $source_field_name;
    $this->config($media_type->getConfigDependencyName())
        ->set('field_map', $field_map)
        ->save();
    $this->runUpdates();
    $this->container
        ->get('entity_type.manager')
        ->getStorage('media_type')
        ->resetCache([
        'invalid_mapping',
    ]);
    $field_map = MediaType::load('invalid_mapping')?->getFieldMap();
    $this->assertIsArray($field_map);
    $this->assertNotContains($source_field_name, $field_map);
}

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