You are here

public function WordListCaptchaTestCase::testWordListCaptchaOnLoginBlockOnAdminPagesIssue893810 in CAPTCHA Pack 8

Word List CAPTCHA should be put on admin pages even if user has no access.

File

text_captcha/modules/word_list_captcha/src/Test/WordListCaptchaTestCase.php, line 196

Class

WordListCaptchaTestCase
Word list CAPTCHA main test case sensitivity.

Namespace

Drupal\word_list_captcha\Tests

Code

public function testWordListCaptchaOnLoginBlockOnAdminPagesIssue893810() {

  // 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('word_list_captcha/Pick the unrelated word');
  $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);
}