Don't assume test user has ID 1 in SpecialPageTest
authorsaper <saper@saper.info>
Fri, 6 Dec 2013 12:48:22 +0000 (13:48 +0100)
committersaper <saper@saper.info>
Fri, 6 Dec 2013 12:48:22 +0000 (13:48 +0100)
SpecialPageTest seems to assume
the first database user has ID number 1.

In case of the current PostgreSQL test
setup it does not have to be the case.

This query:

Query pgtest01 (101) (slave):
SELECT /* User::loadFromDatabase 127.0.0.1
*/  user_id /* more fields */ FROM "unittest_mwuser"
WHERE user_id = '1'  LIMIT 1

fails, because UTSysop has been added by the
test setup before with some other ID:

Query pgtest01 (65) (slave):

INSERT /* User::addToDatabase 127.0.0.1 */
INTO "unittest _mwuser"
(user_id,user_name /* more fields */
VALUES ('322','UTSysop' /* more values */

Change-Id: I7b0a6a9001765111669051d57e675e588b71ba17

tests/phpunit/includes/SpecialPageTest.php

index 65057a5..0ee335a 100644 (file)
@@ -102,8 +102,7 @@ class SpecialPageTest extends MediaWikiTestCase {
        public function testRequireLoginNotAnon() {
                $specialPage = new SpecialPage( 'Watchlist', 'viewmywatchlist' );
 
-               $user = User::newFromId( 0 );
-               $user->setId( 1 );
+               $user = User::newFromName( "UTSysop" );
                $specialPage->getContext()->setUser( $user );
 
                $specialPage->requireLogin();