public function testMessageFoundWithCodeAndNoStatus() { $message = ResponseCodes::getMessage('LDI', null); $this->assertEquals('Aguardando retirada - Caixa postal - Fiscalização', $message); }
/** * 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; }