Exemplo n.º 1
1
 public function encode(\Esendex\Model\DispatchMessage $message)
 {
     if (strlen($message->originator()) < 1) {
         throw new ArgumentException("Originator is invalid");
     }
     if (strlen($message->recipient()) < 1) {
         throw new ArgumentException("Recipient is invalid");
     }
     if ($message->validityPeriod() > 72) {
         throw new ArgumentException("Validity too long, must be less or equal to than 72");
     }
     $doc = new \SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\"?><messages />", 0, false, Api::NS);
     $doc->accountreference = $this->reference;
     $child = $doc->addChild("message");
     $child->from = $message->originator();
     $child->to = $message->recipient();
     $child->body = $message->body();
     $child->type = $message->type();
     if ($message->validityPeriod() > 0) {
         $child->validity = $message->validityPeriod();
     }
     if ($message->language() != null) {
         $child->lang = $message->language();
     }
     return $doc->asXML();
 }
 /**
  * @test
  */
 function encodeVoiceMessage()
 {
     $reference = "EX123456";
     $message = new DispatchMessage(null, "4487654321", "Something to say", Message::VoiceType, 36, "fr-FR");
     $parser = new DispatchXmlParser($reference);
     $doc = new \SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\"?><messages />", 0, false, Api::NS);
     $doc->addAttribute("xmlns", Api::NS);
     $doc->addChild("accountreference", $reference);
     $child = $doc->addChild("message");
     $child->addChild("to", $message->recipient());
     $child->addChild("body", $message->body());
     $child->addChild("type", Message::VoiceType);
     $child->addChild("validity", $message->validityPeriod());
     $child->addChild("lang", $message->language());
     $expected = $doc->asXML();
     $result = $parser->encode($message);
     $this->assertEquals($expected, $result);
 }