public function testDeleteHooks() { $hooksCalled = 0; $test = $this; /** * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend */ $backend = $this->getMock('\\Test\\Util\\User\\Dummy'); $backend->expects($this->once())->method('deleteUser'); /** * @param \OC\User\User $user */ $hook = function ($user) use($test, &$hooksCalled) { $hooksCalled++; $test->assertEquals('foo', $user->getUID()); }; $emitter = new PublicEmitter(); $emitter->listen('\\OC\\User', 'preDelete', $hook); $emitter->listen('\\OC\\User', 'postDelete', $hook); $user = new \OC\User\User('foo', $backend, $emitter); $this->assertTrue($user->delete()); $this->assertEquals(2, $hooksCalled); }
/** * @param string $scope * @param string $method * @param callable $callback */ public function listen($scope, $method, $callback) { $this->emitter->listen($scope, $method, $callback); }