Exemple #1
0
 public function testSetPasswordHooks()
 {
     $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('setPassword');
     /**
      * @param \OC\User\User $user
      * @param string $password
      */
     $hook = function ($user, $password) use($test, &$hooksCalled) {
         $hooksCalled++;
         $test->assertEquals('foo', $user->getUID());
         $test->assertEquals('bar', $password);
     };
     $emitter = new PublicEmitter();
     $emitter->listen('\\OC\\User', 'preSetPassword', $hook);
     $emitter->listen('\\OC\\User', 'postSetPassword', $hook);
     $backend->expects($this->any())->method('implementsActions')->will($this->returnCallback(function ($actions) {
         if ($actions === \OC_USER_BACKEND_SET_PASSWORD) {
             return true;
         } else {
             return false;
         }
     }));
     $user = new \OC\User\User('foo', $backend, $emitter);
     $user->setPassword('bar', '');
     $this->assertEquals(2, $hooksCalled);
 }