You are here

public function MediaLibraryAccessTest::testAddFormAccess in Drupal 10

Same name and namespace in other branches
  1. 9 core/modules/media_library/tests/src/Kernel/MediaLibraryAccessTest.php \Drupal\Tests\media_library\Kernel\MediaLibraryAccessTest::testAddFormAccess()

Tests that the media library respects arbitrary access to the add form.

File

core/modules/media_library/tests/src/Kernel/MediaLibraryAccessTest.php, line 394

Class

MediaLibraryAccessTest
Tests the media library access.

Namespace

Drupal\Tests\media_library\Kernel

Code

public function testAddFormAccess() : void {

  // Access is denied if the media library is trying to create media whose
  // type name is 'deny_access'. Also create a second media type that we *can*
  // add, so we can be certain that the add form is otherwise visible.
  // @see media_library_test_media_create_access()
  $media_types = [
    $this
      ->createMediaType('image', [
      'id' => 'deny_access',
    ])
      ->id(),
    $this
      ->createMediaType('image')
      ->id(),
  ];
  $account = $this
    ->createUser([
    'create media',
  ]);
  $this
    ->setCurrentUser($account);

  /** @var \Drupal\media_library\MediaLibraryUiBuilder $ui_builder */
  $ui_builder = $this->container
    ->get('media_library.ui_builder');
  $state = MediaLibraryState::create('test', $media_types, $media_types[0], 1);
  $build = $ui_builder
    ->buildUi($state);
  $this
    ->assertEmpty($build['content']['form']);
  $state = MediaLibraryState::create('test', $media_types, $media_types[1], 1);
  $build = $ui_builder
    ->buildUi($state);
  $this
    ->assertNotEmpty($build['content']['form']);
}