Me burlé de la función "createTask" en la "api":
import configureMockStore from "redux-mock-store"; import { createTask } from "../../actions/tasks"; import * as api from "../../api"; import thunk from "redux-thunk"; jest.mock('../../api') // mock api module api.createTask = jest.fn(() => { return Promise.resolve({data : 'foo'}) }) // configuration mock store const middleware = [thunk]; const mockStore = configureMockStore(middleware); // suite tests describe("create task action create store<async>", () => { test("works", () => { const expectedActions = [ { type: "REQUEST_STARTED" }, { type: "CREATE_TASK_SUCCEED", payLaod: { task: "foo" }, meta: { analytics: { event: "create_task", data: { id: undefined } } }, }, ]; const store = mockStore({ tasks: { tasks: [], }, }); return store.dispatch(createTask({})).then(() => { expect(store.getActions()).isEqual(expectedActions); expect(api.createTask).toHaveBeenCalled(); }); }); });Pero después de ejecutar la prueba, aparece este error. parece que mi función simulada no devuelve una promesa.
● create task action create store<async> › works TypeError: Cannot read properties of undefined (reading 'then') 23 | return (dispatch) => { 24 | dispatch(requestStarted()); > 25 | api | ^ 26 | .createTask({ title, description, status, timer, projectId }) 27 | .then((resp) => { 28 | dispatch(createTaskSucceed(resp.data));No sé la razón de esto. ¿Alguien puede ayudarme?