public function testGetMessage()
 {
     $data = $this->getPdfData();
     $order = new TicketsOrder();
     $order->setMail('*****@*****.**');
     /** @var \Swift_Message $message */
     $message = $this->ticketsSender->getMessage($order, $data);
     $this->assertArrayHasKey('*****@*****.**', $message->getTo());
     $this->assertArrayHasKey('*****@*****.**', $message->getFrom());
     $this->assertEquals('Billets du Louvre - Votre commande', $message->getSubject());
     /** @var array $children */
     $children = $message->getChildren();
     $this->assertEquals(1, count($children));
     $this->assertArrayHasKey(0, $children);
     $this->assertEquals('application/pdf', $children[0]->getContentType());
 }
 private function getOrder()
 {
     $order = new TicketsOrder();
     $order->setRef('AD5BF6C12356981F');
     $order->setVisitDate(new \DateTime('2015-11-13'));
     $order->setVisitDuration('JOURNEE');
     $order->setMail('*****@*****.**');
     $order->setValidate(false);
     $ticket = new Ticket();
     $ticket->setName('Normal');
     $ticket->setLongDescription('De 12 ans à 59 ans');
     $ticket->setShortDescription('12 à 59 ans');
     $ticket->setPrice(16.0);
     $detail = new TicketDetail();
     $detail->setAgeMin(12);
     $detail->setAgeMax(59);
     $visitor = new Visitor();
     $visitor->setFirstName('Alain');
     $visitor->setLastName('DUPONT');
     $visitor->setCountry('Belgique');
     $visitor->setBirthdate(new \DateTime('1970-02-17'));
     $detail->setVisitor($visitor);
     $ticket->addTicketDetail($detail);
     $order->addTicket($ticket);
     $ticket = new Ticket();
     $ticket->setName('Famille');
     $ticket->setLongDescription('Famille (2 adultes et 2 enfants de même nom de famille');
     $ticket->setShortDescription('Famille: 2adu./2enf.');
     $ticket->setPrice(35.0);
     $detail = new TicketDetail();
     $detail->setAgeMin(12);
     $detail->setAgeMax(999);
     $visitor = new Visitor();
     $visitor->setFirstName('Lucien');
     $visitor->setLastName('FRANCE');
     $visitor->setCountry('France');
     $visitor->setBirthdate(new \DateTime('1953-06-11'));
     $detail->setVisitor($visitor);
     $ticket->addTicketDetail($detail);
     $detail = new TicketDetail();
     $detail->setAgeMin(12);
     $detail->setAgeMax(999);
     $visitor = new Visitor();
     $visitor->setFirstName('Lucie');
     $visitor->setLastName('FRANCE');
     $visitor->setCountry('France');
     $visitor->setBirthdate(new \DateTime('1959-11-06'));
     $detail->setVisitor($visitor);
     $ticket->addTicketDetail($detail);
     $detail = new TicketDetail();
     $detail->setAgeMin(4);
     $detail->setAgeMax(11);
     $visitor = new Visitor();
     $visitor->setFirstName('Paul');
     $visitor->setLastName('FRANCE');
     $visitor->setCountry('France');
     $visitor->setBirthdate(new \DateTime('2004-02-06'));
     $detail->setVisitor($visitor);
     $ticket->addTicketDetail($detail);
     $detail = new TicketDetail();
     $detail->setAgeMin(4);
     $detail->setAgeMax(11);
     $visitor = new Visitor();
     $visitor->setFirstName('Claire');
     $visitor->setLastName('FRANCE');
     $visitor->setCountry('France');
     $visitor->setBirthdate(new \DateTime('2007-05-15'));
     $detail->setVisitor($visitor);
     $ticket->addTicketDetail($detail);
     $order->addTicket($ticket);
     return $order;
 }