function MediaRequirementsTest::testMissingSourceFieldDefinition

Same name in other branches
  1. 9 core/modules/media/tests/src/Functional/MediaRequirementsTest.php \Drupal\Tests\media\Functional\MediaRequirementsTest::testMissingSourceFieldDefinition()
  2. 11.x core/modules/media/tests/src/Functional/MediaRequirementsTest.php \Drupal\Tests\media\Functional\MediaRequirementsTest::testMissingSourceFieldDefinition()

Tests that the requirements check can handle a missing source field.

File

core/modules/media/tests/src/Functional/MediaRequirementsTest.php, line 30

Class

MediaRequirementsTest
Tests the Media module's requirements checks.

Namespace

Drupal\Tests\media\Functional

Code

public function testMissingSourceFieldDefinition() : void {
    $media_type = $this->createMediaType('test');
    
    /** @var \Drupal\field\FieldConfigInterface $field_definition */
    $field_definition = $media_type->getSource()
        ->getSourceFieldDefinition($media_type);
    
    /** @var \Drupal\field\FieldStorageConfigInterface $field_storage_definition */
    $field_storage_definition = $field_definition->getFieldStorageDefinition();
    $field_definition->delete();
    $field_storage_definition->delete();
    $valid_media_type = $this->createMediaType('test');
    $this->drupalLogin($this->rootUser);
    $this->drupalGet('/admin/reports/status');
    $this->assertSession()
        ->statusCodeEquals(200);
    $this->assertSession()
        ->pageTextContains("The source field definition for the {$media_type->label()} media type is missing.");
    $this->assertSession()
        ->pageTextNotContains("The source field definition for the {$valid_media_type->label()} media type is missing.");
}

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