Pular para o conteúdo principal

ActivityTypeService

Visão Geral

O ActivityTypeService busca os tipos de atividade (check-in) disponíveis na API remota. É usado para popular selects, filtros e validações que dependem da lista de tipos de atividade.

Localização: services/activity-type/activity-type.service.ts

Endpoints

MétodoEndpointDescrição
GET/tipoAtividadeCheckinBusca lista paginada de tipos

Métodos

fetchRemote(params)

Busca os tipos de atividade com paginação e suporte a sincronização incremental.

Parâmetros

NomeTipoObrigatório
pagenumberNão
sizenumberNão
dataHorastringNão

Retorno: Promise<ActivityType[]>

Exemplo

const types = await activityTypeService.fetchRemote({ page: 0, size: 50 });

Erros

StatusDescrição
5xxLança Error: ActivityTypeService.fetchRemote failed: {status}

Estruturas de Dados

ActivityType

interface ActivityType {
id: string;
idOrganization: string;
nome: string;
ativo: "S" | "N";
}

Componentes Relacionados

ComponenteDescrição
buildQueryParamsSerializa os parâmetros de query para a requisição
apiWithoutAccessTokenInstância Axios sem token de acesso utilizada nas chamadas
PageResponse<T>Tipo genérico de resposta paginada da API

Casos de Uso

Popular Select de Tipos de Atividade:

const types = await activityTypeService.fetchRemote();
// usar types.map(t => ({ label: t.nome, value: t.id }))

Sincronização incremental:

const updated = await activityTypeService.fetchRemote({
dataHora: "2026-03-01T00:00:00",
});

Testes

Localização: services/activity-type/activity-type.service.test.ts

CenárioResultado esperado
fetchRemote com status 200Retorna activityTypeResponseMock.content
fetchRemote com status 500Lança Error: ActivityTypeService.fetchRemote failed: 500

Mocks

Localização: __mocks__/activity-type.mock.ts

  • activityTypeResponseMock — objeto de resposta paginada com content e metadados

Exemplo de uso em testes:

import { activityTypeResponseMock } from "@/__mocks__/activity-type.mock";

const api: any = {
get: jest.fn(async () => ({ status: 200, data: activityTypeResponseMock })),
};
const service = new ActivityTypeService({ apiWithoutAccessToken: api });
const result = await service.fetchRemote();
expect(result).toStrictEqual(activityTypeResponseMock.content);