Example #1
0
 public function sendPasswordResetMail(UserPasswordResetInterface $user)
 {
     $masterRequest = $this->requestStack->getMasterRequest();
     list($subject, $htmlBody) = $this->prepareMessage(array('user' => $user, 'ip' => $masterRequest->getClientIp(), 'user_agent' => $masterRequest->headers->get('User-Agent')));
     $message = \Swift_Message::newInstance()->setSubject($subject)->setTo($user->getEmail())->setFrom($this->fromEmail);
     if ($this->replayToEmail) {
         $message->setReplyTo($this->replayToEmail);
     }
     if (!empty($htmlBody)) {
         $message->setBody($htmlBody, 'text/html');
     }
     return $this->mailer->send($message);
 }
 /**
  * @param \FSi\Bundle\AdminSecurityBundle\Model\UserPasswordResetInterface $user
  * @param \Twig_Environment $twig
  * @param \Twig_Template $template
  * @param \Swift_Mailer $mailer
  * @param \Symfony\Component\HttpFoundation\RequestStack $requestStack
  */
 function it_should_render_template($user, $twig, $template, $mailer, $requestStack)
 {
     $request = new Request(array(), array(), array(), array(), array(), array('HTTP_USER_AGENT' => 'user agent', 'REMOTE_ADDR' => '192.168.99.99'));
     $requestStack->getMasterRequest()->willReturn($request);
     $templateParameters = array('user' => $user, 'ip' => '192.168.99.99', 'user_agent' => 'user agent');
     $twig->mergeGlobals($templateParameters)->willReturn($templateParameters);
     $twig->loadTemplate('mailer-template.html.twig')->willReturn($template);
     $template->renderBlock('subject', $templateParameters)->willReturn('subject string');
     $template->renderBlock('body_html', $templateParameters)->willReturn('body string');
     $user->getEmail()->willReturn('user@example.com');
     $mailer->send(Argument::allOf(Argument::type('\\Swift_Message'), Argument::which('getSubject', 'subject string'), Argument::which('getTo', array('user@example.com' => null)), Argument::which('getFrom', array('from@fsi.pl' => null)), Argument::which('getReplyTo', array('replay-to@fsi.pl' => null)), Argument::which('getBody', 'body string')))->willReturn(1);
     $this->sendPasswordResetMail($user)->shouldReturn(1);
 }