/** * Updates a user password if a plain password is set * * @param User $user */ public function updatePassword(User $user) { if (0 !== strlen($password = $user->getPlainPassword())) { $encoder = $this->getEncoder($user); $user->setPassword($encoder->encodePassword($password, $user->getSalt())); $user->eraseCredentials(); } }
public function testUpdateUser() { $password = '******'; $encodedPassword = '******'; $email = '*****@*****.**'; $user = new User(); $user->setUsername($email)->setEmail($email)->setPlainPassword($password); $encoder = $this->getMock('Symfony\\Component\\Security\\Core\\Encoder\\PasswordEncoderInterface'); $encoder->expects($this->once())->method('encodePassword')->with($user->getPlainPassword(), $user->getSalt())->will($this->returnValue($encodedPassword)); $this->ef->expects($this->once())->method('getEncoder')->with($user)->will($this->returnValue($encoder)); $this->om->expects($this->once())->method('persist')->with($this->equalTo($user)); $this->om->expects($this->once())->method('flush'); $this->metadata->expects($this->once())->method('getAssociationTargetClass')->willReturn('Symfony\\Component\\Security\\Core\\Role\\RoleInterface'); $repository = $this->getMockBuilder('Oro\\Bundle\\UserBundle\\Entity\\Repository\\UserApiRepository')->disableOriginalConstructor()->getMock(); $this->om->expects($this->any())->method('getRepository')->will($this->returnValue($repository)); $repository->expects($this->once())->method('findOneBy')->with($this->equalTo(['role' => User::ROLE_DEFAULT]))->will($this->returnValue(new Role(User::ROLE_DEFAULT))); $this->userManager->updateUser($user); $this->assertEquals($email, $user->getEmail()); $this->assertEquals($encodedPassword, $user->getPassword()); }
public function testSendChangePasswordEmail() { $this->assertSendCalled(Processor::TEMPLATE_USER_CHANGE_PASSWORD, ['entity' => $this->user, 'plainPassword' => $this->user->getPlainPassword()], $this->buildMessage($this->user->getEmail())); $this->mailProcessor->sendChangePasswordEmail($this->user); }
public function testPassword() { $user = new User(); $pass = '******'; $user->setPassword($pass); $user->setPlainPassword($pass); $this->assertEquals($pass, $user->getPassword()); $this->assertEquals($pass, $user->getPlainPassword()); $user->eraseCredentials(); $this->assertNull($user->getPlainPassword()); }