Pular para o conteúdo principal

CarrierService

Visao Geral

O CarrierService fornece operacoes para buscar dados de transportadoras no backend de forma paginada.

Localizacao: services/carrier/carrier.service.ts

Endpoints

MetodoEndpointDescricao
GET/transportadoraLista transportadoras com paginacao

Metodos

fetchCarriersRemote(params)

Busca transportadoras de forma paginada, com opcao de filtros.

Parametros

NomeTipoObrigatorio
params{ page?: number; size?: number; codCidDest?: string; codMunFis?: string; codParc?: string; idClient?: string; vlrMin?: number; uf?: string; estado?: string; nomeCidade?: string }Nao

Retorno: Promise<Carrier[]>

Exemplo

const carriers = await carrierService.fetchCarriersRemote({
page: 0,
size: 10,
});

console.log(carriers[0].razaoSocial); // "Trans Minas Ltda"
console.log(carriers[0].vlrMin); // 150.0

Erros

StatusDescricao
4xx/5xxLanca Error: CarrierService.fetchCarriersRemote failed: {status}

Estruturas de Dados

Carrier

interface Carrier {
id: string;
codParc: string;
razaoSocial: string;
vlrMin: number;
idClient: string;
}

PageResponse<T>

interface PageResponse<T> {
content: T[];
page?: number;
size?: number;
totalElements?: number;
}

Casos de Uso

  • Buscar transportadoras para exibir em formularios de cadastro
  • Sincronizar dados de transportadoras para uso offline

Testes

Localizacao: services/carrier/carrier.service.test.ts

Principais cenarios

CenarioResultado esperado
fetchCarriersRemote status 200Retorna carrierResponseMock.content
fetchCarriersRemote status 400Lanca CarrierService.fetchCarriersRemote failed

Mocks

Localizacao: __mocks__/carrier.mock.ts

  • carrierResponseMock - resposta paginada mockada com transportadoras (Trans Minas Ltda, Paulista Transportes, etc.)

Instancia

Localizacao: services/carrier/carrier.service.instance.ts

import { carrierService } from "@/services/carrier/carrier.service.instance";