function MediaTypeCreationTrait::createMediaType
Same name in other branches
- 9 core/modules/media/tests/src/Traits/MediaTypeCreationTrait.php \Drupal\Tests\media\Traits\MediaTypeCreationTrait::createMediaType()
- 10 core/modules/media/tests/src/Traits/MediaTypeCreationTrait.php \Drupal\Tests\media\Traits\MediaTypeCreationTrait::createMediaType()
- 11.x core/modules/media/tests/src/Traits/MediaTypeCreationTrait.php \Drupal\Tests\media\Traits\MediaTypeCreationTrait::createMediaType()
Create a media type for a source plugin.
Parameters
string $source_plugin_id: The media source plugin ID.
mixed[] $values: (optional) Additional values for the media type entity:
- id: The ID of the media type. If none is provided, a random value will be used.
- label: The human-readable label of the media type. If none is provided, a random value will be used.
- bundle: (deprecated) The ID of the media type, for backwards compatibility purposes. Use 'id' instead.
See \Drupal\media\MediaTypeInterface and \Drupal\media\Entity\MediaType for full documentation of the media type properties.
Return value
\Drupal\media\MediaTypeInterface A media type.
See also
\Drupal\media\MediaTypeInterface
\Drupal\media\Entity\MediaType
46 calls to MediaTypeCreationTrait::createMediaType()
- CKEditorIntegrationTest::setUp in core/
modules/ media_library/ tests/ src/ FunctionalJavascript/ CKEditorIntegrationTest.php - CKEditorIntegrationTest::setUp in core/
modules/ media/ tests/ src/ FunctionalJavascript/ CKEditorIntegrationTest.php - ContentEntityTest::testMediaSource in core/
modules/ migrate_drupal/ tests/ src/ Kernel/ Plugin/ migrate/ source/ ContentEntityTest.php - Tests media source plugin.
- ContentModerationTest::setUp in core/
modules/ media_library/ tests/ src/ FunctionalJavascript/ ContentModerationTest.php - EntityQueryAccessTest::testMediaEntityQueryAccess in core/
modules/ views/ tests/ src/ Functional/ Entity/ EntityQueryAccessTest.php - Tests that the 'media_access' query tag is respected by Views.
File
-
core/
modules/ media/ tests/ src/ Traits/ MediaTypeCreationTrait.php, line 36
Class
- MediaTypeCreationTrait
- Provides methods to create a media type from given values.
Namespace
Drupal\Tests\media\TraitsCode
protected function createMediaType($source_plugin_id, array $values = []) {
if (isset($values['bundle'])) {
@trigger_error('Setting the "bundle" key when creating a test media type is deprecated in Drupal 8.6.0 and will be removed before Drupal 9.0.0. Set the "id" key instead. See https://www.drupal.org/node/2981614.', E_USER_DEPRECATED);
$values['id'] = $values['bundle'];
unset($values['bundle']);
}
$values += [
'id' => $this->randomMachineName(),
'label' => $this->randomString(),
'source' => $source_plugin_id,
];
/** @var \Drupal\media\MediaTypeInterface $media_type */
$media_type = MediaType::create($values);
$source = $media_type->getSource();
$source_field = $source->createSourceField($media_type);
$source_configuration = $source->getConfiguration();
$source_configuration['source_field'] = $source_field->getName();
$source->setConfiguration($source_configuration);
$this->assertSame(SAVED_NEW, $media_type->save());
// The media type form creates a source field if it does not exist yet. The
// same must be done in a kernel test, since it does not use that form.
// @see \Drupal\media\MediaTypeForm::save()
$source_field->getFieldStorageDefinition()
->save();
// The source field storage has been created, now the field can be saved.
$source_field->save();
// Add the source field to the form display for the media type.
$form_display = \Drupal::service('entity_display.repository')->getFormDisplay('media', $media_type->id(), 'default');
$source->prepareFormDisplay($media_type, $form_display);
$form_display->save();
return $media_type;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.