AliquotService
Visao Geral
O AliquotService fornece operacoes para buscar aliquotas no backend de forma paginada.
Localizacao: services/aliquot/aliquot.service.ts
Endpoints
| Metodo | Endpoint | Descricao |
|---|---|---|
| GET | /aliquota | Lista aliquotas com paginacao |
Metodos
fetchRemote(params)
Busca aliquotas de forma paginada.
Parametros
| Nome | Tipo | Obrigatorio |
|---|---|---|
params | { page?: number; size?: number } | Nao |
Retorno: Promise<Aliquot[]>
Exemplo
const aliquots = await aliquotService.fetchRemote({
page: 0,
size: 999,
});
console.log(aliquots[0].codTrib); // "ICMS"
Erros
| Status | Descricao |
|---|---|
| 4xx/5xx | Lanca Error: AliquotService.fetchRemote failed: {status} |
Estruturas de Dados
Aliquot
interface Aliquot {
id: string;
idExterno: string;
aliquota: number;
aliqSubTrib: number;
codTrib: string;
margLucro: number;
baseStRed: string;
outorga: number;
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 aliquotas para compor calculos fiscais no app
- Sincronizar dados fiscais para uso offline
Testes
Localizacao: services/aliquot/aliquot.service.test.ts
Principais cenarios
| Cenario | Resultado esperado |
|---|---|
fetchRemote status 200 | Retorna aliquotResponseMock.content |
fetchRemote status 400 | Lanca AliquotService.fetchRemote failed |
Mocks
Localizacao: __mocks__/aliquot.mock.ts
aliquotResponseMock- resposta paginada mockada com aliquotas
Instancia
Localizacao: services/aliquot/aliquot.service.instance.ts
import { aliquotService } from '@/services/aliquot/aliquot.service.instance';