miinventario-mobile-v2/src/__mocks__/apiClient.mock.ts
rckrdmrd eb718a95aa Sincronización desde miinventario/apps/mobile - Estándar multi-repo v2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:29:24 -06:00

50 lines
965 B
TypeScript

import { jest } from '@jest/globals';
export const mockApiClient = {
get: jest.fn(),
post: jest.fn(),
put: jest.fn(),
patch: jest.fn(),
delete: jest.fn(),
interceptors: {
request: {
use: jest.fn(),
},
response: {
use: jest.fn(),
},
},
};
export const resetApiClientMocks = () => {
mockApiClient.get.mockReset();
mockApiClient.post.mockReset();
mockApiClient.put.mockReset();
mockApiClient.patch.mockReset();
mockApiClient.delete.mockReset();
};
export const mockApiResponse = <T>(data: T) => ({
data,
status: 200,
statusText: 'OK',
headers: {},
config: {},
});
export const mockApiError = (
message: string,
status = 400,
data: unknown = {}
) => {
const error = new Error(message) as Error & {
response: { data: unknown; status: number };
isAxiosError: boolean;
};
error.response = { data, status };
error.isAxiosError = true;
return error;
};
export default mockApiClient;