public function WebformEntityAccessControlHandlerTest::providerCheckAccess in Webform 8.5
Same name and namespace in other branches
- 6.x tests/src/Unit/WebformEntityAccessControlHandlerTest.php \Drupal\Tests\webform\Unit\WebformEntityAccessControlHandlerTest::providerCheckAccess()
Data provider for testCheckAccess().
See also
testCheckAccess()
File
- tests/
src/ Unit/ WebformEntityAccessControlHandlerTest.php, line 229
Class
- WebformEntityAccessControlHandlerTest
- Tests webform access handler.
Namespace
Drupal\Tests\webform\UnitCode
public function providerCheckAccess() {
$tests = [];
/**************************************************************************/
// The "view" HTML operation.
/**************************************************************************/
$tests[] = [
'view',
[],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
'request_format',
'url.path',
],
],
'View when nobody',
];
$tests[] = [
'view',
[
'permissions' => [
'administer webform',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [],
'access_result_cache_contexts' => [
'user.permissions',
],
],
'View when has "administer webform" permission',
];
$tests[] = [
'view',
[
'access_rules' => [
'administer',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
],
],
'View when has "administer" access rule',
];
/**************************************************************************/
// The "view" configuration operation.
/**************************************************************************/
$tests[] = [
'view',
[
'permissions' => [
'access any webform configuration',
],
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
'request_format',
'url.path',
],
],
'View when has "access any webform configuration" permission and request form is HTML',
];
$tests[] = [
'view',
[
'request_format' => 'not_html',
'permissions' => [
'access any webform configuration',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'request_format',
'url.path',
'user',
'user.permissions',
'webform_cache_context',
],
],
'View when has "access any webform configuration" permission and request form is NOT HTML',
];
$tests[] = [
'view',
[
'permissions' => [
'access own webform configuration',
],
'account_is_webform_owner' => FALSE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
'request_format',
'url.path',
],
],
'View when has "access own webform configuration" permission and is not owner and request form is HTML',
];
$tests[] = [
'view',
[
'request_format' => 'not_html',
'permissions' => [
'access own webform configuration',
],
'account_is_webform_owner' => FALSE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
'request_format',
'url.path',
],
],
'View when has "access own webform configuration" permission and is not owner and request form is NOT HTML',
];
$tests[] = [
'view',
[
'permissions' => [
'access own webform configuration',
],
'account_is_webform_owner' => TRUE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
'request_format',
'url.path',
],
],
'View when has "access own webform configuration" permission and is owner and request form is HTML',
];
$tests[] = [
'view',
[
'request_format' => 'not_html',
'permissions' => [
'access own webform configuration',
],
'account_is_webform_owner' => TRUE,
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'request_format',
'url.path',
'user',
'user.permissions',
'webform_cache_context',
],
],
'View when has "access own webform configuration" permission and is owner and request form is NOT HTML',
];
/**************************************************************************/
// The "test" operation.
/**************************************************************************/
$tests[] = [
'test',
[],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Test when nobody',
];
$tests[] = [
'test',
[
'permissions' => [
'administer webform',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [],
'access_result_cache_contexts' => [
'user.permissions',
],
],
'Test when has "administer webform" permission',
];
$tests[] = [
'test',
[
'access_rules' => [
'administer',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
],
],
'Test when has "administer" access rule',
];
$tests[] = [
'test',
[
'permissions' => [
'edit any webform',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user',
'user.permissions',
'webform_cache_context',
],
],
'Test when has "edit any webform" permission',
];
$tests[] = [
'test',
[
'permissions' => [
'edit own webform',
],
'account_is_webform_owner' => FALSE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Test when has "edit own webform" permission and is not owner',
];
$tests[] = [
'test',
[
'permissions' => [
'edit own webform',
],
'account_is_webform_owner' => TRUE,
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user',
'user.permissions',
'webform_cache_context',
],
],
'Test when has "edit own webform" permission and is owner',
];
/**************************************************************************/
// The "update" operation.
/**************************************************************************/
$tests[] = [
'update',
[],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Update when nobody',
];
$tests[] = [
'update',
[
'permissions' => [
'administer webform',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [],
'access_result_cache_contexts' => [
'user.permissions',
],
],
'Update when has "administer webform" permission',
];
$tests[] = [
'update',
[
'access_rules' => [
'administer',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
],
],
'Update when has "administer" access rule',
];
$tests[] = [
'update',
[
'permissions' => [
'edit any webform',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user',
'user.permissions',
'webform_cache_context',
],
],
'Update when has "edit any webform" permission',
];
$tests[] = [
'update',
[
'permission' => [
'edit own webform',
],
'account_is_webform_owner' => FALSE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Update when has "edit own webform" permission and is not owner',
];
$tests[] = [
'update',
[
'permissions' => [
'edit own webform',
],
'account_is_webform_owner' => TRUE,
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user',
'user.permissions',
'webform_cache_context',
],
],
'Update when has "edit own webform" permission and is owner',
];
/**************************************************************************/
// The "duplicate" operation.
/**************************************************************************/
$tests[] = [
'duplicate',
[],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Duplicate when nobody',
];
$tests[] = [
'duplicate',
[
'permissions' => [
'administer webform',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [],
'access_result_cache_contexts' => [
'user.permissions',
],
],
'Duplicate when has "administer webform" permission',
];
$tests[] = [
'duplicate',
[
'access_rules' => [
'administer',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
],
],
'Duplicate when has "administer" access rule',
];
$tests[] = [
'duplicate',
[
'permissions' => [
'create webform',
],
'webform_is_template' => FALSE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Duplicate when has "create webform" permission and webform is not template',
];
$tests[] = [
'duplicate',
[
'permissions' => [
'create webform',
'edit any webform',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user',
'user.permissions',
'webform_cache_context',
],
],
'Duplicate when has "create webform" and "edit any webform" permissions',
];
$tests[] = [
'duplicate',
[
'permisssions' => [
'create webform',
'edit own webform',
],
'account_is_webform_owner' => FALSE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Duplicate when has "create webform" and "edit own webform" permissions and is not owner',
];
$tests[] = [
'duplicate',
[
'permissions' => [
'create webform',
'edit own webform',
],
'account_is_webform_owner' => TRUE,
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user',
'user.permissions',
'webform_cache_context',
],
],
'Duplicate when has "create webform" and "edit own webform" permissions and is owner',
];
/**************************************************************************/
// The "delete" operation.
/**************************************************************************/
$tests[] = [
'delete',
[],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Delete when nobody',
];
$tests[] = [
'delete',
[
'permissions' => [
'administer webform',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [],
'access_result_cache_contexts' => [
'user.permissions',
],
],
'Delete when has "administer webform" permission',
];
$tests[] = [
'delete',
[
'access_rules' => [
'administer',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
],
],
'Delete when has "administer" access rule',
];
$tests[] = [
'delete',
[
'permissions' => [
'delete any webform',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user',
'user.permissions',
'webform_cache_context',
],
],
'Delete when has "delete any webform" permission',
];
$tests[] = [
'delete',
[
'permissions' => [
'delete own webform',
],
'account_is_webform_owner' => FALSE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Delete when has "delete own webform" permission and is not owner',
];
$tests[] = [
'delete',
[
'permissions' => [
'delete own webform',
],
'account_is_webform_owner' => TRUE,
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user',
'user.permissions',
'webform_cache_context',
],
],
'Delete when has "delete own webform" permission and is owner',
];
/**************************************************************************/
// The "purge" operation.
/**************************************************************************/
$tests[] = [
'submission_purge',
[
'access_rules' => [
'purge_any',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
],
],
'Purge when has "purge_any" access rule',
];
$tests[] = [
'submission_purge_any',
[
'access_rules' => [
'purge_any',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
],
],
'Purge when has "purge_any" access rule',
];
/**************************************************************************/
// The "view" operation.
/**************************************************************************/
$tests[] = [
'submission_view_any',
[],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Submission view any when nobody',
];
$tests[] = [
'submission_view_any',
[
'permissions' => [
'view any webform submission',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_contexts' => [
'user.permissions',
],
],
'Submission view any when has "view any webform submission" permission',
];
$tests[] = [
'submission_view_any',
[
'permissions' => [
'view own webform submission',
],
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Submission view any when has "view own webform submission" permission but is not owner',
];
$tests[] = [
'submission_view_own',
[],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Submission view own when nobody',
];
$tests[] = [
'submission_view_own',
[
'permissions' => [
'view own webform submission',
],
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_contexts' => [
'user.permissions',
],
],
'Submission view own when has "view own webform submission" permission',
];
// The "submission_page" operation.
$tests[] = [
'submission_page',
[
'webform_is_open' => FALSE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Submission page when nobody',
];
$tests[] = [
'submission_page',
[
'submission_load_from_token' => TRUE,
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'webform_cache_tag',
'webform_submission_cache_tag',
],
'access_result_cache_contexts' => [
'url',
'user.permissions',
'webform_cache_context',
'webform_submission_cache_context',
],
],
'Submission page when accessible through token',
];
$tests[] = [
'submission_page',
[
'webform_is_template' => TRUE,
'webform_is_open' => FALSE,
],
[
'access_result_is_allowed' => FALSE,
'access_result_cache_tags' => [
'webform_cache_tag',
],
'access_result_cache_contexts' => [
'user.permissions',
'webform_cache_context',
],
],
'Submission page when the webform is template without create access',
];
$tests[] = [
'submission_page',
[
'access_rules' => [
'create',
],
'webform_is_open' => FALSE,
],
[
'access_result_is_allowed' => TRUE,
'access_result_cache_tags' => [
'access_rules_cache_tag',
],
'access_result_cache_contexts' => [
'access_rules_cache_context',
],
],
'Submission page when the webform allows "page"',
];
return $tests;
}