View source
<?php
namespace Drupal\Tests\workbench_access\Functional;
use Drupal\menu_link_content\Entity\MenuLinkContent;
use Drupal\Tests\BrowserTestBase;
use Drupal\Tests\workbench_access\Traits\WorkbenchAccessTestTrait;
class DeleteUserTest extends BrowserTestBase {
use WorkbenchAccessTestTrait;
protected $defaultTheme = 'stable';
public static $modules = [
'workbench_access',
'node',
'menu_ui',
'link',
'menu_link_content',
'options',
'user',
'system',
];
public function testUserDelete() {
$this
->setUpContentType();
$scheme = $this
->setUpMenuScheme([
'page',
], [
'main',
]);
$user_storage = $this->container
->get('workbench_access.user_section_storage');
$editor = $this
->setUpEditorUser();
$admin = $this
->setUpAdminUser([
'create page content',
'edit any page content',
'administer menu',
'delete any page content',
'use workbench access',
]);
$base_link = MenuLinkContent::create([
'title' => 'Link 1',
'link' => [
[
'uri' => 'route:<front>',
],
],
'menu_name' => 'main',
]);
$base_link
->save();
$user_storage
->addUser($scheme, $editor, [
$base_link
->getPluginId(),
]);
$user_storage
->addUser($scheme, $admin, [
$base_link
->getPluginId(),
]);
$existing_users = $user_storage
->getEditors($scheme, $base_link
->getPluginId());
$this
->assertEquals([
$editor
->id(),
$admin
->id(),
], array_keys($existing_users));
$editor
->delete();
$existing_users = $user_storage
->getEditors($scheme, $base_link
->getPluginId());
$this
->assertEquals([
$admin
->id(),
], array_keys($existing_users));
}
}