public function WidgetAnonymousTest::testWidgetAnonymous in Drupal 9
Same name and namespace in other branches
- 8 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 41
Class
- WidgetAnonymousTest
- Tests that the widget works as expected for anonymous users.
Namespace
Drupal\Tests\media_library\FunctionalJavascriptCode
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');
}