X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fpreferences%2FDefaultPreferencesFactoryTest.php;h=48a9ecdc694003aea29cb79aa9ab473fda6458cb;hp=2eec5ce238d4af3a8c11845ba18e9332db16f68c;hb=571a44a4bef0cdecc329636bfaa8f3935380c3f0;hpb=1658759d42a5d802e29a71c3fd70ae127afd3e46 diff --git a/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php b/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php index 2eec5ce238..48a9ecdc69 100644 --- a/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php +++ b/tests/phpunit/includes/preferences/DefaultPreferencesFactoryTest.php @@ -27,7 +27,7 @@ use Wikimedia\TestingAccessWrapper; /** * @group Preferences */ -class DefaultPreferencesFactoryTest extends MediaWikiTestCase { +class DefaultPreferencesFactoryTest extends \MediaWikiTestCase { /** @var IContextSource */ protected $context; @@ -67,7 +67,7 @@ class DefaultPreferencesFactoryTest extends MediaWikiTestCase { $testUser = $this->getTestUser(); $form = $this->getPreferencesFactory()->getForm( $testUser->getUser(), $this->context ); - $this->assertInstanceOf( PreferencesFormLegacy::class, $form ); + $this->assertInstanceOf( PreferencesFormOOUI::class, $form ); $this->assertCount( 5, $form->getPreferenceSections() ); } @@ -83,6 +83,50 @@ class DefaultPreferencesFactoryTest extends MediaWikiTestCase { $this->assertEquals( $cssClass, $prefs['emailauthentication']['cssclass'] ); } + /** + * @covers MediaWiki\Preferences\DefaultPreferencesFactory::renderingPreferences() + */ + public function testShowRollbackConfIsHiddenForUsersWithoutRollbackRights() { + $userMock = $this->getMockBuilder( User::class ) + ->disableOriginalConstructor() + ->getMock(); + $userMock->method( 'isAllowed' ) + ->willReturn( false ); + $userMock->method( 'getEffectiveGroups' ) + ->willReturn( [] ); + $userMock->method( 'getGroupMemberships' ) + ->willReturn( [] ); + $userMock->method( 'getOptions' ) + ->willReturn( [ 'test' => 'yes' ] ); + + $prefs = $this->getPreferencesFactory()->getFormDescriptor( $userMock, $this->context ); + $this->assertArrayNotHasKey( 'showrollbackconfirmation', $prefs ); + } + + /** + * @covers MediaWiki\Preferences\DefaultPreferencesFactory::renderingPreferences() + */ + public function testShowRollbackConfIsShownForUsersWithRollbackRights() { + $userMock = $this->getMockBuilder( User::class ) + ->disableOriginalConstructor() + ->getMock(); + $userMock->method( 'isAllowed' ) + ->willReturn( true ); + $userMock->method( 'getEffectiveGroups' ) + ->willReturn( [] ); + $userMock->method( 'getGroupMemberships' ) + ->willReturn( [] ); + $userMock->method( 'getOptions' ) + ->willReturn( [ 'test' => 'yes' ] ); + + $prefs = $this->getPreferencesFactory()->getFormDescriptor( $userMock, $this->context ); + $this->assertArrayHasKey( 'showrollbackconfirmation', $prefs ); + $this->assertEquals( + 'rendering/advancedrendering', + $prefs['showrollbackconfirmation']['section'] + ); + } + public function emailAuthenticationProvider() { $userNoEmail = new User; $userEmailUnauthed = new User; @@ -118,7 +162,7 @@ class DefaultPreferencesFactoryTest extends MediaWikiTestCase { $configMock = new HashConfig( [ 'HiddenPrefs' => [] ] ); - $form = $this->getMockBuilder( PreferencesFormLegacy::class ) + $form = $this->getMockBuilder( PreferencesFormOOUI::class ) ->disableOriginalConstructor() ->getMock();