diff --git a/@types/index.d.ts b/@types/index.d.ts index cd665f6..d2d9f96 100644 --- a/@types/index.d.ts +++ b/@types/index.d.ts @@ -29,9 +29,9 @@ export const enum Rota { export interface Event { codigo: string; - descricao: string; - dtHrCriado: string; tipo: string; + dtHrCriado: string; + descricao: string; unidade: Unidade; unidadeDestino: Unidade | null; comentario?: string; @@ -50,25 +50,19 @@ export interface TipoPostal { categoria: string; } -export interface ObjectItem { +export interface CorreiosResponse { codObjeto: string; - eventos: Event[]; - modalidade: string; tipoPostal: TipoPostal; - habilitaAutoDeclaracao: boolean; - permiteEncargoImportacao: boolean; - habilitaPercorridaCarteiro: boolean; + dtPrevista: string; + modalidade: string; + eventos: Event[]; + situacao: string; + autoDeclaracao: boolean; + encargoImportacao: boolean; + percorridaCarteiro: boolean; bloqueioObjeto: boolean; - possuiLocker: boolean; - habilitaLocker: boolean; - habilitaCrowdshipping: boolean; -} - -export interface CorreiosResponse { - objetos: ObjectItem[]; - quantidade: number; - resultado: string; - versao: string; + arEletronico: boolean; + redis: boolean; } export interface CorreiosError { diff --git a/src/utils/api.ts b/src/utils/api.ts index 4520003..9a22341 100644 --- a/src/utils/api.ts +++ b/src/utils/api.ts @@ -2,10 +2,17 @@ import axios from 'axios'; import type { CorreiosError, CorreiosResponse } from '@types'; -const BASE_URL = 'https://proxyapp.correios.com.br/v1/sro-rastro'; +const BASE_URL = 'https://rastreamento.correios.com.br/app/resultado.php'; export const fetchObject = async (code: string) => { - const { data } = await axios.get(`${BASE_URL}/${code}`); + const { data, request } = await axios.get(BASE_URL, { + params: { + objeto: code, + mqs: 'S', + }, + }); + + console.log(request); return data; }; diff --git a/src/utils/icon.ts b/src/utils/icon.ts index 541abd0..1fb7d16 100644 --- a/src/utils/icon.ts +++ b/src/utils/icon.ts @@ -1,12 +1,12 @@ const iconByStatus: Record = { - "Objeto em trânsito - por favor aguarde": "🚚", - "Objeto saiu para entrega ao destinatário": "🙌", - "Objeto entregue ao destinatário": "🎁", - "Pagamento confirmado": "🤑", - "Aguardando o pagamento do despacho postal": "💸", - "Objeto encaminhado para fiscalização aduaneira": "🔎", - "Objeto recebido pelos correios do Brasil": "🛬", - "Objeto postado": "📦", + TRANSITO: "🚚", + "SAIU-ENTREGA-DESTINATARIO": "🙌", + ENTREGUE: "🎁", + PAR31: "🤑", // Pagamento confirmado + PAR17: "💸", // Aguardando pagamento + PAR21: "🔎", // Encaminhado para fiscalização aduaneira + RecebidoCorreiosBrasil: "🛬", + POSTAGEM: "📦", DEFAULT: "🚧" }; diff --git a/tests/utils/api.spec.ts b/tests/utils/api.spec.ts index 64c4b2d..fb3d342 100644 --- a/tests/utils/api.spec.ts +++ b/tests/utils/api.spec.ts @@ -29,27 +29,23 @@ describe('Função fetchObject', function() { it('deve retornar os valores corretos da api dos correios', async () => { const mockedResponse = { - objetos: [{ - codObjeto: 'codObjeto', - tipoPostal: - { - sigla: 'sigla', - descricao: 'descricao', - categoria: 'categoria', - }, - modalidade: 'modalidade', - eventos: [], - habilitaAutoDeclaracao: true, - permiteEncargoImportacao: true, - habilitaPercorridaCarteiro: true, - bloqueioObjeto: true, - possuiLocker: true, - habilitaLocker: true, - habilitaCrowdshipping: true, - }], - quantidade: 1, - resultado: "Todos os Eventos", - versao: "1.0.0" + codObjeto: 'codObjeto', + tipoPostal: + { + sigla: 'sigla', + descricao: 'descricao', + categoria: 'categoria', + }, + dtPrevista: 'dtPrevista', + modalidade: 'modalidade', + eventos: [], + situacao: 'situacao', + autoDeclaracao: true, + encargoImportacao: true, + percorridaCarteiro: true, + bloqueioObjeto: true, + arEletronico: true, + redis: true, }; makeCorreiosResponse(mockedResponse); const result = await fetchObject('123'); diff --git a/tests/utils/icon.spec.ts b/tests/utils/icon.spec.ts index e480248..a36a070 100644 --- a/tests/utils/icon.spec.ts +++ b/tests/utils/icon.spec.ts @@ -3,14 +3,14 @@ import { getIcon } from '../../src/utils'; describe('Função getIcon', function() { it.each` status | value - ${'Objeto em trânsito - por favor aguarde'} | ${'🚚'} - ${'Objeto saiu para entrega ao destinatário'} | ${'🙌'} - ${'Objeto entregue ao destinatário'} | ${'🎁'} - ${'Pagamento confirmado'} | ${'🤑'} - ${'Aguardando o pagamento do despacho postal'} | ${'💸'} - ${'Objeto encaminhado para fiscalização aduaneira'} | ${'🔎'} - ${'Objeto recebido pelos correios do Brasil'} | ${'🛬'} - ${'Objeto postado'} | ${'📦'} + ${'TRANSITO'} | ${'🚚'} + ${'SAIU-ENTREGA-DESTINATARIO'} | ${'🙌'} + ${'ENTREGUE'} | ${'🎁'} + ${'PAR31'} | ${'🤑'} + ${'PAR17'} | ${'💸'} + ${'PAR21'} | ${'🔎'} + ${'RecebidoCorreiosBrasil'} | ${'🛬'} + ${'POSTAGEM'} | ${'📦'} ${'DEFAULT'} | ${'🚧'} ${'RANDOM STATUS'} | ${'🚧'} `('deve retornar os icones corretos de acordo com o mapeamento ', function({ status, value }) {