Trigger change when a user is enabled/disabled
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
8ef25a7628
commit
ac0c21f4a7
|
@ -342,10 +342,14 @@ class User implements IUser {
|
|||
* @param bool $enabled
|
||||
*/
|
||||
public function setEnabled($enabled) {
|
||||
$oldStatus = $this->isEnabled();
|
||||
$this->enabled = $enabled;
|
||||
$enabled = ($enabled) ? 'true' : 'false';
|
||||
if ($oldStatus !== $this->enabled) {
|
||||
$this->triggerChange('enabled', $enabled);
|
||||
$this->config->setUserValue($this->uid, 'core', 'enabled', $enabled);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the users email address
|
||||
|
|
|
@ -705,7 +705,55 @@ class UserTest extends TestCase {
|
|||
'false'
|
||||
);
|
||||
|
||||
$user = new User('foo', $backend, null, $config);
|
||||
$user = $this->getMockBuilder(User::class)
|
||||
->setConstructorArgs([
|
||||
'foo',
|
||||
$backend,
|
||||
null,
|
||||
$config,
|
||||
])
|
||||
->setMethods(['isEnabled', 'triggerChange'])
|
||||
->getMock();
|
||||
|
||||
$user->expects($this->once())
|
||||
->method('isEnabled')
|
||||
->willReturn(true);
|
||||
$user->expects($this->once())
|
||||
->method('triggerChange')
|
||||
->with(
|
||||
'enabled',
|
||||
'false'
|
||||
);
|
||||
|
||||
$user->setEnabled(false);
|
||||
}
|
||||
|
||||
public function testSetDisabledAlreadyDisabled() {
|
||||
/**
|
||||
* @var Backend | \PHPUnit_Framework_MockObject_MockObject $backend
|
||||
*/
|
||||
$backend = $this->createMock(\Test\Util\User\Dummy::class);
|
||||
|
||||
$config = $this->createMock(IConfig::class);
|
||||
$config->expects($this->never())
|
||||
->method('setUserValue');
|
||||
|
||||
$user = $this->getMockBuilder(User::class)
|
||||
->setConstructorArgs([
|
||||
'foo',
|
||||
$backend,
|
||||
null,
|
||||
$config,
|
||||
])
|
||||
->setMethods(['isEnabled', 'triggerChange'])
|
||||
->getMock();
|
||||
|
||||
$user->expects($this->once())
|
||||
->method('isEnabled')
|
||||
->willReturn(false);
|
||||
$user->expects($this->never())
|
||||
->method('triggerChange');
|
||||
|
||||
$user->setEnabled(false);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue