Parece que la burla no funciona para mí a través de axios, ya que parece hacer llamadas reales a la API (visible porque obtengo el código de estado 401 cuando ejecuto la prueba de broma). No estoy seguro de por qué no puedo burlarme de axios. ¿Alguien puede señalar el error que estoy cometiendo?
índice.prueba.ts
describe("compositeScore()", () => { it("Mock Fetch API for Composite Score Response", async () => { const mock = jest.spyOn(axios, "post"); mock.mockReturnValueOnce(mockResponse); const response = await dateFilter(platform); expect(mock).toHaveBeenCalledTimes(1); expect(response).toEqual(mockFetchCompositeScoreResponse); }); });índice.ts
export const dateFilters = async (platform) => { const dates = await fetchWrapper( platform.toLowerCase().concat("DateFilters"), platform, {} ); return dates; }; export async function fetchWrapper( queryName: string, platform: string, queryParams?: {} ) { const headers = { Accept: "application/json", Authorization: `Bearer ${token}`, "Content-Type": "application/json", }; const config: AxiosRequestConfig = { method: "post", url, headers, data: { db: dbName, csl: queryParams ? substituteQueryParameters(queries[queryName], queryParams) : queries[queryName], }, }; return axios(config); }Probar
import axios from 'axios'; jest.mock('axios'); Primero deberá simular el módulo antes de import en el Sistema bajo prueba.