entity_browser-8.x-2.x-dev/tests/src/Functional/ConfigAccessTest.php
tests/src/Functional/ConfigAccessTest.php
<?php namespace Drupal\Tests\entity_browser\Functional; use Drupal\Tests\BrowserTestBase; /** * Tests the config UI for adding and editing entity browsers. * * @group entity_browser * * @package Drupal\Tests\entity_browser\FunctionalJavascript */ class ConfigAccessTest extends BrowserTestBase { /** * Modules to enable. * * @var array */ protected static $modules = [ 'entity_browser', 'block', 'node', 'taxonomy', 'views', ]; /** * The test administrative user. * * @var \Drupal\user\UserInterface */ protected $adminUser; /** * {@inheritdoc} */ protected $defaultTheme = 'stark'; /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); $this->drupalPlaceBlock('local_tasks_block'); $this->drupalPlaceBlock('local_actions_block'); $this->adminUser = $this->drupalCreateUser([ 'administer entity browsers', ]); } /** * Tests Access to EntityBrowserEditForm. */ public function testEntityBrowserEditFormAccess() { // Test that anonymous user can't access admin pages. $this->drupalGet('/admin/config/content/entity_browser'); $this->assertSession()->statusCodeEquals(403); $this->drupalGet('/admin/config/content/entity_browser/add'); $this->assertSession()->statusCodeEquals(403); // Test that user with "administer entity browsers" permission can access // admin pages. $this->drupalLogin($this->adminUser); $this->drupalGet('/admin/config/content/entity_browser'); $this->assertSession()->statusCodeEquals(200); $this->assertSession()->responseContains('There are no entity browser entities yet.'); $this->clickLink('Add Entity browser'); $this->assertSession()->fieldExists('label')->setValue('Test entity browser'); $this->assertSession()->fieldExists('name')->setValue('test_entity_browser'); $this->assertSession()->buttonExists('Save')->press(); $this->assertSession()->addressEquals('/admin/config/content/entity_browser/test_entity_browser/widgets'); $this->drupalLogout(); $this->drupalGet('/admin/config/content/entity_browser/test_entity_browser'); $this->assertSession()->statusCodeEquals(404); $this->drupalLogin($this->adminUser); $this->drupalGet('/admin/config/content/entity_browser'); $this->clickLink('Delete'); $this->assertSession()->responseContains('This action cannot be undone.'); $this->submitForm([], 'Delete Entity Browser'); $this->assertSession()->responseContains('Entity browser <em class="placeholder">Test entity browser</em> was deleted.'); $this->assertSession()->responseContains('There are no entity browser entities yet.'); $this->drupalLogout(); } }