You are here

public function PhraseCaptchaTestCase::testPhraseCaptchaOnLoginBlockOnAdminPagesIssue893810 in CAPTCHA Pack 8

Phrase CAPTCHA should be put on admin pages even if visitor has no access.

File

text_captcha/modules/phrase_captcha/src/Test/PhraseCaptchaTestCase.php, line 196

Class

PhraseCaptchaTestCase
Phrase CAPTCHA main test case sensitivity.

Namespace

Drupal\phrase_captcha\Tests

Code

public function testPhraseCaptchaOnLoginBlockOnAdminPagesIssue893810() {

  // Set a CAPTCHA on login block form.

  /* @var \Drupal\captcha\Entity\CaptchaPoint $captcha_point */
  $captcha_point = \Drupal::entityTypeManager()
    ->getStorage('captcha_point')
    ->load('user_login_form');
  $captcha_point
    ->setCaptchaType('phrase_captcha/Phrase CAPTCHA');
  $captcha_point
    ->enable()
    ->save();

  // Enable the user login block.
  $this
    ->drupalPlaceBlock('user_login_block', [
    'id' => 'login',
  ]);

  // Check if there is a CAPTCHA on home page.
  $this
    ->drupalGet('');
  $this
    ->assertCaptchaPresence(TRUE);

  // Check there is a CAPTCHA on "forbidden" admin pages.
  $this
    ->drupalGet('admin');
  $this
    ->assertCaptchaPresence(TRUE);
}