protected function ContentModerationTest::setUp in Drupal 9
Same name and namespace in other branches
- 8 core/modules/media_library/tests/src/FunctionalJavascript/ContentModerationTest.php \Drupal\Tests\media_library\FunctionalJavascript\ContentModerationTest::setUp()
Overrides BrowserTestBase::setUp
File
- core/
modules/ media_library/ tests/ src/ FunctionalJavascript/ ContentModerationTest.php, line 74
Class
- ContentModerationTest
- Tests media library integration with content moderation.
Namespace
Drupal\Tests\media_library\FunctionalJavascriptCode
protected function setUp() : void {
parent::setUp();
// Create an image media type and article node type.
$this
->createMediaType('image', [
'id' => 'image',
]);
$this
->drupalCreateContentType([
'type' => 'article',
'name' => 'Article',
]);
// Create a media reference field on articles.
$this
->createEntityReferenceField('node', 'article', 'field_media', 'Media', 'media', 'default', [
'target_bundles' => [
'image',
],
], FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED);
// Add the media field to the form display.
$form_display = \Drupal::service('entity_display.repository')
->getFormDisplay('node', 'article', 'default');
$form_display
->setComponent('field_media', [
'type' => 'media_library_widget',
])
->save();
// Configure the "Editorial" workflow to apply to image media.
$workflow = $this
->createEditorialWorkflow();
$workflow
->getTypePlugin()
->addEntityTypeAndBundle('media', 'image');
$workflow
->save();
$image = File::create([
'uri' => $this
->getTestFiles('image')[0]->uri,
]);
$image
->setPermanent();
$image
->save();
// Create a draft, published and archived media item.
$draft_media = Media::create([
'name' => 'Hoglet',
'bundle' => 'image',
'field_media_image' => $image,
'moderation_state' => 'draft',
]);
$draft_media
->save();
$published_media = Media::create([
'name' => 'Panda',
'bundle' => 'image',
'field_media_image' => $image,
'moderation_state' => 'published',
]);
$published_media
->save();
$archived_media = Media::create([
'name' => 'Mammoth',
'bundle' => 'image',
'field_media_image' => $image,
'moderation_state' => 'archived',
]);
$archived_media
->save();
// Create some users for our tests. We want to check with user 1, a media
// administrator with 'administer media' permissions, a user that has the
// 'view media' permissions, a user that can 'view media' and 'view own
// unpublished media', and a user that has 'view media' and 'view any
// unpublished content' permissions.
$this->userAdmin = $this
->drupalCreateUser([
'access administration pages',
'access content',
'access media overview',
'edit own article content',
'create article content',
'administer media',
]);
$this->userViewer = $this
->drupalCreateUser([
'access administration pages',
'access content',
'access media overview',
'edit own article content',
'create article content',
'view media',
'create media',
]);
$this->userViewOwnUnpublished = $this
->drupalCreateUser([
'access administration pages',
'access content',
'access media overview',
'edit own article content',
'create article content',
'view media',
'view own unpublished media',
'create media',
]);
$this->userViewAnyUnpublished = $this
->drupalCreateUser([
'access administration pages',
'access content',
'access media overview',
'edit own article content',
'create article content',
'view media',
'create media',
'view any unpublished content',
]);
}