summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/ConfirmEdit/tests/phpunit/CaptchaAuthenticationRequestTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/ConfirmEdit/tests/phpunit/CaptchaAuthenticationRequestTest.php')
-rw-r--r--www/wiki/extensions/ConfirmEdit/tests/phpunit/CaptchaAuthenticationRequestTest.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/www/wiki/extensions/ConfirmEdit/tests/phpunit/CaptchaAuthenticationRequestTest.php b/www/wiki/extensions/ConfirmEdit/tests/phpunit/CaptchaAuthenticationRequestTest.php
new file mode 100644
index 00000000..380716fe
--- /dev/null
+++ b/www/wiki/extensions/ConfirmEdit/tests/phpunit/CaptchaAuthenticationRequestTest.php
@@ -0,0 +1,55 @@
+<?php
+
+use MediaWiki\Auth\AuthenticationRequestTestCase;
+
+/**
+ * @covers CaptchaAuthenticationRequest
+ */
+class CaptchaAuthenticationRequestTest extends AuthenticationRequestTestCase {
+ public function setUp() {
+ parent::setUp();
+ $this->setMwGlobals( [
+ 'wgCaptchaClass' => 'SimpleCaptcha',
+ 'wgCaptchaStorageClass' => CaptchaHashStore::class,
+ ] );
+ CaptchaStore::unsetInstanceForTests();
+ CaptchaStore::get()->clearAll();
+ CaptchaStore::get()->store( '345', [ 'question' => '2+2', 'answer' => '4' ] );
+ }
+
+ protected function getInstance( array $args = [] ) {
+ return new CaptchaAuthenticationRequest( $args[0], $args[1] );
+ }
+
+ public static function provideGetFieldInfo() {
+ return [
+ [ [ '123', [ 'question' => '1+2', 'answer' => '3' ] ] ],
+ ];
+ }
+
+ public function provideLoadFromSubmission() {
+ return [
+ 'no id' => [
+ [ '123', [ 'question' => '1+2', 'answer' => '3' ] ],
+ [],
+ false,
+ ],
+ 'no answer' => [
+ [ '123', [ 'question' => '1+2', 'answer' => '3' ] ],
+ [ 'captchaId' => '345' ],
+ false,
+ ],
+ 'missing' => [
+ [ '123', [ 'question' => '1+2', 'answer' => '3' ] ],
+ [ 'captchaId' => '234', 'captchaWord' => '5' ],
+ false,
+ ],
+ 'normal' => [
+ [ '123', [ 'question' => '1+2', 'answer' => '3' ] ],
+ [ 'captchaId' => '345', 'captchaWord' => '5' ],
+ [ 'captchaId' => '345', 'captchaData' => [ 'question' => '2+2', 'answer' => '4' ],
+ 'captchaWord' => '5' ],
+ ],
+ ];
+ }
+}