function WidgetAnonymousTest::testWidgetAnonymous

Same name and namespace in other branches
  1. 8.9.x core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php \Drupal\Tests\media_library\FunctionalJavascript\WidgetAnonymousTest::testWidgetAnonymous()
  2. 10 core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php \Drupal\Tests\media_library\FunctionalJavascript\WidgetAnonymousTest::testWidgetAnonymous()
  3. 11.x core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php \Drupal\Tests\media_library\FunctionalJavascript\WidgetAnonymousTest::testWidgetAnonymous()

Tests that the widget works as expected for anonymous users.

File

core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php, line 46

Class

WidgetAnonymousTest
Tests that the widget works as expected for anonymous users.

Namespace

Drupal\Tests\media_library\FunctionalJavascript

Code

public function testWidgetAnonymous() {
    $assert_session = $this->assertSession();
    // Allow the anonymous user to create pages and view media.
    $role = Role::load(RoleInterface::ANONYMOUS_ID);
    $this->grantPermissions($role, [
        'access content',
        'create basic_page content',
        'view media',
    ]);
    // Ensure the widget works as an anonymous user.
    $this->drupalGet('node/add/basic_page');
    // Add to the unlimited cardinality field.
    $this->openMediaLibraryForField('field_unlimited_media');
    // Select the first media item (should be Dog).
    $this->selectMediaItem(0);
    $this->pressInsertSelected('Added one media item.');
    // Ensure that the selection completed successfully.
    $this->waitForText('Dog');
    $assert_session->fieldNotExists('Weight');
    // Add to the unlimited cardinality field.
    $this->openMediaLibraryForField('field_unlimited_media');
    // Select the second media item (should be Cat).
    $this->selectMediaItem(1);
    $this->pressInsertSelected('Added one media item.');
    // Ensure that the selection completed successfully.
    $this->waitForText('Cat');
    // Save the form.
    $assert_session->elementExists('css', '.js-media-library-widget-toggle-weight')
        ->click();
    $this->submitForm([
        'title[0][value]' => 'My page',
        'field_unlimited_media[selection][0][weight]' => '0',
        'field_unlimited_media[selection][1][weight]' => '1',
    ], 'Save');
    $assert_session->pageTextContains('Basic Page My page has been created');
    $assert_session->pageTextContains('Dog');
}

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