예제 #1
0
 /**
  * @param User $user
  * @param string $token
  * @param string $userAgent
  * @param string $ip4
  * @return self
  */
 public static function createResetPasswordToken(User $user, $token, $userAgent, $ip4)
 {
     $expires = new DateTime('+1 hour');
     $userToken = new self($user, UserTokenType::internal(), $token, $userAgent, $ip4, $expires);
     $userToken->raise(new ResetPasswordEvent($user->getId(), $user->getEmail(), $user->getFullName(), $token));
     return $userToken;
 }
예제 #2
0
 public function testSetPasswordRaisesEvent()
 {
     $user = new User();
     $user->setEmail('*****@*****.**');
     $user->setPassword('Password1');
     $this->assertSame(0, count($user->releaseEvents()));
     $user->setPassword('NewPassword123');
     /** @var PasswordChangedEvent $event */
     $event = $user->releaseEvents()[0];
     $this->assertTrue($event instanceof PasswordChangedEvent);
     $this->assertSame($user->getId(), $event->getUserId());
     $this->assertSame($user->getEmail(), $event->getEmail());
     $this->assertSame($user->getFullName(), $event->getFullName());
 }