Source of file RecaptchaFieldTest.php
Size: 1,910 Bytes - Last Modified: 2021-12-23T10:33:45+00:00
/var/www/docs.ssmods.com/process/src/tests/RecaptchaFieldTest.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | <?php namespace SilverStripe\Recaptcha\Tests; use SilverStripe\Control\Controller; use SilverStripe\Control\HTTPRequest; use SilverStripe\Dev\SapphireTest; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\Form; use SilverStripe\Forms\RequiredFields; use SilverStripe\Recaptcha\RecaptchaField; /** * Class RecaptchaFieldTest * * @package recaptcha */ class RecaptchaFieldTest extends SapphireTest { public function testValidateWithValidResponse() { $form = Form::create(Controller::create(), 'Form', new FieldList(), new FieldList()); $f = new RecaptchaField('MyField'); $f->setHTTPClient(new RecaptchaFieldTestHttpClient()); $f->setForm($form); $v = new RequiredFields(); $origRequest = Controller::curr()->getRequest(); $origSession = $origRequest->getSession(); $request = new HTTPRequest('POST', '/', [], [ 'g-recaptcha-response' => 'valid', ]); $request->setSession($origSession); Controller::curr()->setRequest($request); $this->assertTrue($f->validate($v)); Controller::curr()->setRequest($origRequest); } public function testValidateWithInvalidResponse() { $form = Form::create(Controller::create(), 'Form', new FieldList(), new FieldList()); $f = new RecaptchaField('MyField'); $f->setHTTPClient(new RecaptchaFieldTestHttpClient()); $f->setForm($form); $v = new RequiredFields(); $origRequest = Controller::curr()->getRequest(); $origSession = $origRequest->getSession(); $request = new HTTPRequest('POST', '/', [], [ 'g-recaptcha-response' => 'invalid', ]); $request->setSession($origSession); Controller::curr()->setRequest($request); $this->assertFalse($f->validate($v)); Controller::curr()->setRequest($origRequest); } } |