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);