/**
  * Tests the sendMessage method.
  */
 public function testSendMessage()
 {
     $this->twig->expects($this->once())->method('loadTemplate')->with($this->equalTo('MremiContactBundle:Contact:email.txt.twig'))->will($this->returnValue($this->template));
     $contact = new Contact();
     $contact->setEmail('*****@*****.**');
     $contact->setFirstName('Rémi');
     $contact->setLastName('Marseille');
     $this->template->expects($this->exactly(3))->method('renderBlock')->withConsecutive(array($this->equalTo('subject'), $this->equalTo(array('contact' => $contact))), array($this->equalTo('body_text'), $this->equalTo(array('contact' => $contact))), array($this->equalTo('body_html'), $this->equalTo(array('contact' => $contact))))->willReturnOnConsecutiveCalls('Subject', 'Body text', 'Body HTML');
     $message = $this->getMockBuilder('\\Swift_Message')->disableOriginalConstructor()->getMock();
     $message->expects($this->once())->method('setSubject')->with($this->equalTo('Subject'))->willReturnSelf();
     $message->expects($this->once())->method('setFrom')->with($this->equalTo(array('*****@*****.**' => 'Rémi Marseille')))->willReturnSelf();
     $message->expects($this->once())->method('setTo')->with($this->equalTo(array('*****@*****.**' => 'Webmaster')))->willReturnSelf();
     $message->expects($this->once())->method('setBody')->with($this->equalTo('Body HTML'), $this->equalTo('text/html'))->willReturnSelf();
     $message->expects($this->once())->method('addPart')->with($this->equalTo('Body text'), $this->equalTo('text/plain'))->willReturnSelf();
     $this->serviceMailer->expects($this->once())->method('createMessage')->will($this->returnValue($message));
     $this->mailer->expects($this->once())->method('send')->with($this->equalTo($message))->will($this->returnValue(1));
     $this->assertSame(1, $this->serviceMailer->sendMessage($contact));
 }
Example #2
0
 /**
  * Tests the serialize method.
  */
 public function testSerialize()
 {
     $contact = new Contact();
     $contact->setTitle(Contact::TITLE_MR);
     $contact->setFirstName('Rémi');
     $contact->setLastName('Marseille');
     $contact->setEmail('*****@*****.**');
     $contact->setSubject('subject');
     $contact->setMessage('message');
     $contact->setCreatedAt(new \DateTime('2013-07-11T10:07:00+02:00'));
     $expected = 'a:7:{s:5:"title";s:2:"mr";s:9:"firstName";s:5:"Rémi";s:8:"lastName";s:9:"Marseille";s:5:"email";s:24:"*****@*****.**";s:7:"subject";s:7:"subject";s:7:"message";s:7:"message";s:9:"createdAt";s:25:"2013-07-11T10:07:00+02:00";}';
     $this->assertSame($expected, $contact->serialize());
 }