public function testMessageFoundWithCodeAndNoStatus()
 {
     $message = ResponseCodes::getMessage('LDI', null);
     $this->assertEquals('Aguardando retirada - Caixa postal - Fiscalização', $message);
 }
Exemple #2
0
 /**
  * Processes the webservice response and builds a readable associative
  * array of the events associated to one or more packages
  * @param  string $responseBody The response body (xml)
  * @return mixed
  */
 protected function processResponse($responseBody)
 {
     $xml = simplexml_load_string($responseBody);
     if ($xml) {
         if (isset($xml->error)) {
             throw new RuntimeException("API call error: {$xml->error}");
         }
         $results = [];
         foreach ($xml->objeto as $package) {
             $events = [];
             foreach ($package->evento as $event) {
                 $events[] = ['when' => $event->data . ' ' . $event->hora, 'where' => $event->local . (strlen($event->cidade) ? ' - ' . $event->cidade . '/' . $event->uf : ''), 'action' => Tracker\ResponseCodes::getMessage($event->tipo, $event->status), 'details' => (string) $event->descricao];
             }
             $trackingNumber = (string) $package->numero;
             $results[$trackingNumber] = $events;
         }
         return $results;
     }
     return false;
 }