class WidgetAnonymousTest in Drupal 10
Same name and namespace in other branches
- 8 core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php \Drupal\Tests\media_library\FunctionalJavascript\WidgetAnonymousTest
- 9 core/modules/media_library/tests/src/FunctionalJavascript/WidgetAnonymousTest.php \Drupal\Tests\media_library\FunctionalJavascript\WidgetAnonymousTest
Tests that the widget works as expected for anonymous users.
@group media_library
Hierarchy
- class \Drupal\Tests\BrowserTestBase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, FunctionalTestSetupTrait, TestSetupTrait, BlockCreationTrait, ConfigTestTrait, ExtensionListTestTrait, ContentTypeCreationTrait, NodeCreationTrait, RandomGeneratorTrait, TestRequirementsTrait, PhpUnitWarnings, UiHelperTrait, UserCreationTrait, XdebugRequestTrait
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase
- class \Drupal\Tests\media_library\FunctionalJavascript\MediaLibraryTestBase
- class \Drupal\Tests\media_library\FunctionalJavascript\WidgetAnonymousTest
- class \Drupal\Tests\media_library\FunctionalJavascript\MediaLibraryTestBase
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase
Expanded class hierarchy of WidgetAnonymousTest
File
- core/
modules/ media_library/ tests/ src/ FunctionalJavascript/ WidgetAnonymousTest.php, line 13
Namespace
Drupal\Tests\media_library\FunctionalJavascriptView source
class WidgetAnonymousTest extends MediaLibraryTestBase {
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'stark';
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
// Create a few example media items for use in selection.
$this
->createMediaItems([
'type_one' => [
'Cat',
'Dog',
],
]);
// 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',
]);
}
/**
* Tests that the widget works as expected for anonymous users.
*/
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');
}
}