Pular para o conteúdo principal

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

MetodoEndpointDescricao
GET/unidadeMedidaLista unidades de medida com paginacao

Metodos

fetchMeasurementUnitsRemote(params)

Busca unidades de medida de forma paginada.

Parametros

NomeTipoObrigatorio
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

StatusDescricao
4xx/5xxLanca 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

ComponenteDescricao
buildQueryParamsHelper para serializar parametros de query em requisicoes GET
apiWithoutAccessTokenInstancia 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

CenarioResultado esperado
fetchMeasurementUnitsRemote status 200Retorna measurementUnitResponseMock.content
fetchMeasurementUnitsRemote status 500Lanca 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";