mediawiki-extensions-Math/tests/phpunit/integration/PreferencesIntegrationTest.php
Daimona Eaytoy 34d8441bc8 Avoid using TestUser in non-database tests
It needs a database connection to create the user, which is unnecessary
here.

Depends-On: I80723b886b2b5a5d75cbb73571e1b19ea4a09af5
Change-Id: I260b8ca433733b7754616e6e24778935597981a5
2023-07-17 23:36:23 +02:00

38 lines
1.2 KiB
PHP

<?php
namespace MediaWiki\Extension\Math\Tests;
use MediaWikiIntegrationTestCase;
use RequestContext;
use Title;
use User;
/**
* @covers \MediaWiki\Extension\Math\HookHandlers\PreferencesHooksHandler
*/
class PreferencesIntegrationTest extends MediaWikiIntegrationTestCase {
public function testInvalidDefaultOptionFixed() {
$this->mergeMwGlobalArrayValue( 'wgDefaultUserOptions', [ 'math' => 'garbage' ] );
$this->assertContains(
$this->getServiceContainer()->getUserOptionsLookup()->getDefaultOption( 'math' ),
$this->getServiceContainer()->get( 'Math.Config' )->getValidRenderingModes()
);
}
public function testMathOptionRegistered() {
$context = new RequestContext();
$context->setTitle( Title::makeTitle( NS_MAIN, 'Dummy' ) );
$allPreferences = $this->getServiceContainer()
->getPreferencesFactory()
->getFormDescriptor( $this->createMock( User::class ), $context );
$this->assertArrayHasKey( 'math', $allPreferences );
$mathPrefs = $allPreferences['math'];
$this->assertSame( 'radio', $mathPrefs['type'] );
$this->assertSame(
$this->getServiceContainer()->getUserOptionsLookup()->getDefaultOption( 'math' ),
$mathPrefs['default']
);
}
}