/**
  * Sends the email using a given provider.
  * Throws an exception if setEmail
  * was not called previously.
  *
  * @return mixed
  * @throws \Mechant\MailerBundle\Exception\EmailMissingException
  */
 public function send()
 {
     if ($this->email instanceof Mail) {
         $message = \Swift_Message::newInstance()->setSubject($this->email->getSubject())->setFrom($this->email->getFrom())->setTo($this->email->getTo())->setBody($this->email->getBody(), 'text/html');
         return $this->mailer->send($message);
     }
     throw new EmailMissingException();
 }
 public function test_it_sets_its_content_from_a_template()
 {
     $mail = new Mail();
     $template = $this->getMockBuilder('\\Mechant\\MailerBundle\\Template\\TemplateInterface')->disableOriginalConstructor()->getMock();
     $template->method('getSubject')->willReturn('test subject');
     $template->method('getBody')->willReturn('test body');
     $mail->setFromTemplate($template);
 }