CarrierService
Visao Geral
O CarrierService fornece operacoes para buscar dados de transportadoras no backend de forma paginada.
Localizacao: services/carrier/carrier.service.ts
Endpoints
| Metodo | Endpoint | Descricao |
|---|---|---|
| GET | /transportadora | Lista transportadoras com paginacao |
Metodos
fetchCarriersRemote(params)
Busca transportadoras de forma paginada, com opcao de filtros.
Parametros
| Nome | Tipo | Obrigatorio |
|---|---|---|
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
| Status | Descricao |
|---|---|
| 4xx/5xx | Lanca 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
| Cenario | Resultado esperado |
|---|---|
fetchCarriersRemote status 200 | Retorna carrierResponseMock.content |
fetchCarriersRemote status 400 | Lanca 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";