You are here

public function CaptchaTest::testCaptchaDescriptionAfterCommentPreview in CAPTCHA 8

Test if the CAPTCHA description is only shown with challenge widgets.

For example, when a comment is previewed with correct CAPTCHA answer, a challenge is generated and added to the form but removed in the pre_render phase. The CAPTCHA description should not show up either.

See also

testCaptchaSessionReuseOnNodeForms()

File

tests/src/Functional/CaptchaTest.php, line 183

Class

CaptchaTest
Tests CAPTCHA main test case sensitivity.

Namespace

Drupal\Tests\captcha\Functional

Code

public function testCaptchaDescriptionAfterCommentPreview() {

  // Set Test CAPTCHA on comment form.
  captcha_set_form_id_setting(self::COMMENT_FORM_ID, 'captcha/Test');

  // Log in as normal user.
  $this
    ->drupalLogin($this->normalUser);

  // Create a node with comments enabled.
  $node = $this
    ->drupalCreateNode();

  // Preview comment with correct CAPTCHA answer.
  $edit = $this
    ->getCommentFormValues();
  $edit['captcha_response'] = 'Test 123';
  $this
    ->drupalGet('comment/reply/node/' . $node
    ->id() . '/comment');
  $this
    ->submitForm($edit, $this
    ->t('Preview'));

  // Check that there is no CAPTCHA after preview.
  $this
    ->assertCaptchaPresence(FALSE);
}