public function WebformSettingsAccessDeniedTest::testWebformSubmissionAccessDenied in Webform 8.5
Same name and namespace in other branches
- 6.x tests/src/Functional/Settings/WebformSettingsAccessDeniedTest.php \Drupal\Tests\webform\Functional\Settings\WebformSettingsAccessDeniedTest::testWebformSubmissionAccessDenied()
Tests webform submission access denied setting.
File
- tests/
src/ Functional/ Settings/ WebformSettingsAccessDeniedTest.php, line 133
Class
- WebformSettingsAccessDeniedTest
- Tests for access denied webform and submissions.
Namespace
Drupal\Tests\webform\Functional\SettingsCode
public function testWebformSubmissionAccessDenied() {
// Create a webform submission.
$this
->drupalLogin($this->rootUser);
$webform = Webform::load('test_form_access_denied');
$sid = $this
->postSubmission($webform);
$this
->drupalLogout();
/**************************************************************************/
// Redirect.
/**************************************************************************/
// Check submission message is displayed.
$this
->drupalGet("admin/structure/webform/manage/test_form_access_denied/submission/{$sid}");
$this
->assertRaw("Please login to access <b>Test: Webform: Access Denied: Submission #{$sid}</b>.");
/**************************************************************************/
// Default.
/**************************************************************************/
// Set default access denied page.
$webform
->setSetting('submission_access_denied', WebformInterface::ACCESS_DENIED_DEFAULT);
$webform
->save();
// Check default access denied page.
$this
->drupalGet("admin/structure/webform/manage/test_form_access_denied/submission/{$sid}");
$this
->assertRaw('You are not authorized to access this page.');
$this
->assertNoRaw("Please login to access <b>Test: Webform: Access Denied: Submission #{$sid}</b>.");
/**************************************************************************/
// Page.
/**************************************************************************/
// Set access denied to display a dedicated page.
$webform
->setSetting('submission_access_denied', WebformInterface::ACCESS_DENIED_PAGE);
$webform
->setSetting('submission_access_denied_title', 'Webform submission: Access denied');
$webform
->setSetting('submission_access_denied_attributes', [
'style' => 'border: 1px solid red',
'class' => [],
'attributes' => [],
]);
$webform
->save();
// Check custom access denied page.
$this
->drupalGet("admin/structure/webform/manage/test_form_access_denied/submission/{$sid}");
$this
->assertNoRaw('You are not authorized to access this page.');
$this
->assertRaw('<h1>Webform submission: Access denied</h1>');
$this
->assertRaw('<div style="border: 1px solid red" class="webform-submission-access-denied">Please login to access <b>Test: Webform: Access Denied: Submission #' . $sid . '</b>.</div>');
}