/** * @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; }
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()); }