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
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();