public function MediaLibraryAccessTest::testEditorOpenerAccess in Drupal 9
Same name and namespace in other branches
- 8 core/modules/media_library/tests/src/Kernel/MediaLibraryAccessTest.php \Drupal\Tests\media_library\Kernel\MediaLibraryAccessTest::testEditorOpenerAccess()
 
@covers \Drupal\media_library\MediaLibraryEditorOpener::checkAccess
@dataProvider editorOpenerAccessProvider
Parameters
bool $media_embed_enabled: Whether to test with media_embed filter enabled on the text format.
bool $can_use_format: Whether the logged in user is allowed to use the text format.
File
- core/
modules/ media_library/ tests/ src/ Kernel/ MediaLibraryAccessTest.php, line 141  
Class
- MediaLibraryAccessTest
 - Tests the media library access.
 
Namespace
Drupal\Tests\media_library\KernelCode
public function testEditorOpenerAccess($media_embed_enabled, $can_use_format) {
  $format = $this->container
    ->get('entity_type.manager')
    ->getStorage('filter_format')
    ->create([
    'format' => $this
      ->randomMachineName(),
    'name' => $this
      ->randomString(),
    'filters' => [
      'media_embed' => [
        'status' => $media_embed_enabled,
      ],
    ],
  ]);
  $format
    ->save();
  $permissions = [
    'access media overview',
    'view media',
  ];
  if ($can_use_format) {
    $permissions[] = $format
      ->getPermissionName();
  }
  $state = MediaLibraryState::create('media_library.opener.editor', [
    'image',
  ], 'image', 1, [
    'filter_format_id' => $format
      ->id(),
  ]);
  $access_result = $this->container
    ->get('media_library.ui_builder')
    ->checkAccess($this
    ->createUser($permissions), $state);
  if ($media_embed_enabled && $can_use_format) {
    $this
      ->assertAccess($access_result, TRUE, NULL, Views::getView('media_library')->storage
      ->getCacheTags(), [
      'user.permissions',
    ]);
  }
  else {
    $this
      ->assertAccess($access_result, FALSE, NULL, [], [
      'user.permissions',
    ]);
  }
}