Merge "Selenium: replace UserLoginPage with BlankPage where possible"
[lhc/web/wiklou.git] / tests / phpunit / includes / api / ApiUserrightsTest.php
index 8cc0217..0d7ad0c 100644 (file)
@@ -1,5 +1,8 @@
 <?php
 
+use MediaWiki\Block\DatabaseBlock;
+use MediaWiki\MediaWikiServices;
+
 /**
  * @group API
  * @group Database
@@ -34,6 +37,8 @@ class ApiUserrightsTest extends ApiTestCase {
                if ( $remove ) {
                        $this->mergeMwGlobalArrayValue( 'wgRemoveGroups', [ 'bureaucrat' => $remove ] );
                }
+
+               $this->resetServices();
        }
 
        /**
@@ -73,6 +78,7 @@ class ApiUserrightsTest extends ApiTestCase {
                $res = $this->doApiRequestWithToken( $params );
 
                $user->clearInstanceCache();
+               MediaWikiServices::getInstance()->getPermissionManager()->invalidateUsersRightsCache();
                $this->assertSame( $expectedGroups, $user->getGroups() );
 
                $this->assertArrayNotHasKey( 'warnings', $res[0] );
@@ -128,7 +134,7 @@ class ApiUserrightsTest extends ApiTestCase {
        public function testBlockedWithUserrights() {
                global $wgUser;
 
-               $block = new Block( [ 'address' => $wgUser, 'by' => $wgUser->getId(), ] );
+               $block = new DatabaseBlock( [ 'address' => $wgUser, 'by' => $wgUser->getId(), ] );
                $block->insert();
 
                try {
@@ -144,7 +150,7 @@ class ApiUserrightsTest extends ApiTestCase {
 
                $this->setPermissions( true, true );
 
-               $block = new Block( [ 'address' => $user, 'by' => $user->getId() ] );
+               $block = new DatabaseBlock( [ 'address' => $user, 'by' => $user->getId() ] );
                $block->insert();
 
                try {
@@ -206,7 +212,7 @@ class ApiUserrightsTest extends ApiTestCase {
                                        'log_title' => strtr( $user->getName(), ' ', '_' )
                                ],
                                __METHOD__,
-                               [ 'change_tag_def' => [ 'INNER JOIN', 'ctd_id = ct_tag_id' ] ]
+                               [ 'change_tag_def' => [ 'JOIN', 'ctd_id = ct_tag_id' ] ]
                        )
                );
        }
@@ -215,6 +221,7 @@ class ApiUserrightsTest extends ApiTestCase {
                ChangeTags::defineTag( 'custom tag' );
 
                $this->setGroupPermissions( 'user', 'applychangetags', false );
+               $this->resetServices();
 
                $this->doFailedRightsChange(
                        'You do not have permission to apply change tags along with your changes.',