public function testSendConfirmationMessage() { $this->mailer->setFromAddress('*****@*****.**'); $this->mailer->setFromName('From Name'); $user = new User('*****@*****.**'); $this->swiftmailer->expects($this->once())->method('send')->with($this->callback(function ($message) use($user) { if (!$message instanceof \Swift_Message) { return false; } $msg = $message->toString(); $patterns = array('/From: From Name <*****@*****.**>/', '/To: to@example.com/', '/Hello, ' . $user->getName() . '/'); foreach ($patterns as $pattern) { if (!preg_match($pattern, $msg)) { echo 'Message failed to match pattern "' . $pattern . '".'; return false; } } return true; })); $this->mailer->sendConfirmationMessage($user); }
/** * Update data in the database for an existing user. * * @param User $user */ public function update(User $user) { $this->dispatcher->dispatch(UserEvents::BEFORE_UPDATE, new UserEvent($user)); $sql = 'UPDATE ' . $this->conn->quoteIdentifier($this->userTableName) . ' SET ' . $this->getUserColumns('email') . ' = :email , ' . $this->getUserColumns('password') . ' = :password , ' . $this->getUserColumns('salt') . ' = :salt , ' . $this->getUserColumns('name') . ' = :name , ' . $this->getUserColumns('roles') . ' = :roles , ' . $this->getUserColumns('time_created') . ' = :timeCreated , ' . $this->getUserColumns('username') . ' = :username , ' . $this->getUserColumns('isEnabled') . ' = :isEnabled , ' . $this->getUserColumns('confirmationToken') . ' = :confirmationToken , ' . $this->getUserColumns('timePasswordResetRequested') . ' = :timePasswordResetRequested WHERE ' . $this->getUserColumns('id') . ' = :id'; $params = array('email' => $user->getEmail(), 'password' => $user->getPassword(), 'salt' => $user->getSalt(), 'name' => $user->getName(), 'roles' => implode(',', $user->getRoles()), 'timeCreated' => $user->getTimeCreated(), 'username' => $user->getRealUsername(), 'isEnabled' => $user->isEnabled(), 'confirmationToken' => $user->getConfirmationToken(), 'timePasswordResetRequested' => $user->getTimePasswordResetRequested(), 'id' => $user->getId()); $this->conn->executeUpdate($sql, $params); $this->saveUserCustomFields($user); $this->dispatcher->dispatch(UserEvents::AFTER_UPDATE, new UserEvent($user)); }
/** * Update data in the database for an existing user. * * @param User $user */ public function update(User $user) { $sql = 'UPDATE users SET email = :email , password = :password , salt = :salt , name = :name , roles = :roles , time_created = :timeCreated WHERE id = :id'; $params = array('email' => $user->getEmail(), 'password' => $user->getPassword(), 'salt' => $user->getSalt(), 'name' => $user->getName(), 'roles' => implode(',', $user->getRoles()), 'timeCreated' => $user->getTimeCreated(), 'id' => $user->getId()); $this->conn->executeUpdate($sql, $params); }