Merge "Set user.user_is_temp when creating a temporary user"
This commit is contained in:
commit
f26ea2f2fc
2 changed files with 27 additions and 0 deletions
|
|
@ -2715,6 +2715,7 @@ class User implements Authority, UserIdentity, UserEmailContact {
|
|||
'user_registration' => $dbw->timestamp( $this->mRegistration ),
|
||||
'user_editcount' => 0,
|
||||
'user_touched' => $dbw->timestamp( $this->mTouched ),
|
||||
'user_is_temp' => $this->isTemp(),
|
||||
] )
|
||||
->caller( $fname )->execute();
|
||||
if ( !$dbw->affectedRows() ) {
|
||||
|
|
|
|||
|
|
@ -1763,4 +1763,30 @@ class UserTest extends MediaWikiIntegrationTestCase {
|
|||
$user = new User;
|
||||
$this->assertFalse( $user->isNamed() );
|
||||
}
|
||||
|
||||
public static function provideAddToDatabase_temp() {
|
||||
return [
|
||||
[ '*Unregistered 1', '1' ],
|
||||
[ 'Some user', '0' ]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers User::addToDatabase
|
||||
* @dataProvider provideAddToDatabase_temp
|
||||
*/
|
||||
public function testAddToDatabase_temp( $name, $expected ) {
|
||||
$this->enableAutoCreateTempUser();
|
||||
|
||||
$user = User::newFromName( $name );
|
||||
$user->addToDatabase();
|
||||
$field = $this->db->newSelectQueryBuilder()
|
||||
->select( 'user_is_temp' )
|
||||
->from( 'user' )
|
||||
->where( [ 'user_name' => $name ] )
|
||||
->caller( __METHOD__ )
|
||||
->fetchField();
|
||||
|
||||
$this->assertSame( $expected, $field );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue