MeasurementUnitService
Visao Geral
O MeasurementUnitService fornece operacoes para buscar unidades de medida no backend de forma paginada.
Localizacao: services/measurement-unit/measurement-unit.service.ts
Endpoints
| Metodo | Endpoint | Descricao |
|---|---|---|
| GET | /unidadeMedida | Lista unidades de medida com paginacao |
Metodos
fetchMeasurementUnitsRemote(params)
Busca unidades de medida de forma paginada.
Parametros
| Nome | Tipo | Obrigatorio |
|---|---|---|
params | { page?: number; size?: number; dataHora?: string } | Nao |
Retorno: Promise<MeasurementUnit[]>
Exemplo
const units = await measurementUnitInstance.fetchMeasurementUnitsRemote({
page: 0,
size: 20,
});
console.log(units[0].nomeMedida); // "Metros"
console.log(units[0].sigla); // "m"
Erros
| Status | Descricao |
|---|---|
| 4xx/5xx | Lanca Error: MeasurementUnitService.fetchMeasurementUnitsRemote failed: {status} |
Estruturas de Dados
MeasurementUnit
interface MeasurementUnit {
id: string;
idExterno: string;
organizationId: string;
organizacao: string;
nomeMedida: string;
sigla: string;
dhCriacao: string;
dhAlteracao: string;
}
PageResponse<T>
interface PageResponse<T> {
content: T[];
page?: number;
size?: number;
totalElements?: number;
}
Componentes Relacionados
| Componente | Descricao |
|---|---|
buildQueryParams | Helper para serializar parametros de query em requisicoes GET |
apiWithoutAccessToken | Instancia Axios sem token de autenticacao |
Casos de Uso
- Buscar unidades de medida para exibir em formularios de produtos
- Sincronizar dados de unidades de medida para uso offline
- Popular dropdowns/selects com opcoes de unidades disponiveis
Testes
Localizacao: services/measurement-unit/measurement-unit.service.test.ts
Principais cenarios
| Cenario | Resultado esperado |
|---|---|
fetchMeasurementUnitsRemote status 200 | Retorna measurementUnitResponseMock.content |
fetchMeasurementUnitsRemote status 500 | Lanca MeasurementUnitService.fetchMeasurementUnitsRemote failed |
Mocks
Localizacao: __mocks__/measurement-unit.mock.ts
measurementUnitResponseMock- resposta paginada mockada com unidades de medida (Metros, Quilogramas, Litros, Unidades, Horas, Dias)
Instancia
Localizacao: services/measurement-unit/measurement-unit.service.instance.ts
import { measurementUnitInstance } from "@/services/measurement-unit/measurement-unit.service.instance";