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,9 +342,13 @@ class User implements IUser {
|
||||||
* @param bool $enabled
|
* @param bool $enabled
|
||||||
*/
|
*/
|
||||||
public function setEnabled($enabled) {
|
public function setEnabled($enabled) {
|
||||||
|
$oldStatus = $this->isEnabled();
|
||||||
$this->enabled = $enabled;
|
$this->enabled = $enabled;
|
||||||
$enabled = ($enabled) ? 'true' : 'false';
|
$enabled = ($enabled) ? 'true' : 'false';
|
||||||
$this->config->setUserValue($this->uid, 'core', 'enabled', $enabled);
|
if ($oldStatus !== $this->enabled) {
|
||||||
|
$this->triggerChange('enabled', $enabled);
|
||||||
|
$this->config->setUserValue($this->uid, 'core', 'enabled', $enabled);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -705,7 +705,55 @@ class UserTest extends TestCase {
|
||||||
'false'
|
'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);
|
$user->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue