
| Current Path : /var/www/html/store/web/modules/contrib/entity/tests/src/Functional/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/store/web/modules/contrib/entity/tests/src/Functional/CollectionRouteAccessTest.php |
<?php
namespace Drupal\Tests\entity\Functional;
use Drupal\entity_module_test\Entity\EnhancedEntity;
use Drupal\Tests\block\Traits\BlockCreationTrait;
use Drupal\Tests\BrowserTestBase;
/**
* Tests the collection route access check.
*
* @group entity
*
* @runTestsInSeparateProcesses
*
* @preserveGlobalState disabled
*/
class CollectionRouteAccessTest extends BrowserTestBase {
use BlockCreationTrait;
/**
* {@inheritdoc}
*/
protected static $modules = ['entity_module_test', 'user', 'entity', 'block'];
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'stark';
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
$this->placeBlock('local_tasks_block');
$this->placeBlock('system_breadcrumb_block');
}
/**
* Test the collection route access.
*/
public function testCollectionRouteAccess() {
$entity = EnhancedEntity::create([
'name' => 'rev 1',
'type' => 'default',
]);
$entity->save();
// User without any relevant permissions.
$account = $this->drupalCreateUser(['access administration pages']);
$this->drupalLogin($account);
$this->drupalGet($entity->toUrl('collection'));
$this->assertSession()->statusCodeEquals(403);
// User with "access overview" permissions.
$account = $this->drupalCreateUser(['access entity_test_enhanced overview']);
$this->drupalLogin($account);
$this->drupalGet($entity->toUrl('collection'));
$this->assertSession()->statusCodeEquals(200);
// User with full administration permissions.
$account = $this->drupalCreateUser(['administer entity_test_enhanced']);
$this->drupalLogin($account);
$this->drupalGet($entity->toUrl('collection'));
$this->assertSession()->statusCodeEquals(200);
}
}