Only trigger postDelete hooks when the user was deleted...

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2016-09-29 15:05:47 +02:00
parent f6ff60f4cb
commit 4d1acfd4ef
No known key found for this signature in database
GPG Key ID: E166FD8976B3BAC8
2 changed files with 8 additions and 7 deletions

View File

@ -218,10 +218,10 @@ class User implements IUser {
$notification = \OC::$server->getNotificationManager()->createNotification();
$notification->setUser($this->uid);
\OC::$server->getNotificationManager()->markProcessed($notification);
}
if ($this->emitter) {
$this->emitter->emit('\OC\User', 'postDelete', array($this));
if ($this->emitter) {
$this->emitter->emit('\OC\User', 'postDelete', array($this));
}
}
return !($result === false);
}

View File

@ -435,16 +435,17 @@ class UserTest extends \Test\TestCase {
public function dataDeleteHooks() {
return [
[true],
[false],
[true, 2],
[false, 1],
];
}
/**
* @dataProvider dataDeleteHooks
* @param bool $result
* @param int $expectedHooks
*/
public function testDeleteHooks($result) {
public function testDeleteHooks($result, $expectedHooks) {
$hooksCalled = 0;
$test = $this;
@ -521,7 +522,7 @@ class UserTest extends \Test\TestCase {
$this->restoreService('CommentsManager');
$this->restoreService('NotificationManager');
$this->assertEquals(2, $hooksCalled);
$this->assertEquals($expectedHooks, $hooksCalled);
}
public function testGetCloudId() {