Я пытаюсь протестировать асинхронную функцию c с помощью Jest, но мой макет, похоже, не хочет разрешать Обещание.
workflow.test. js
jest.mock("../../test/__mocks__/workflow");
import {list} from "../../test/__mocks__/workflow"
describe("workflow list api function", () => {
it("should get a list of workflows", async () => {
const expectedListData = {
message: "Successfully retrieved workflow list!",
data: [
{
id: "123",
},
]
};
const listData = await list();
expect(listData.message).not.toBeNull();
expect(listData.message).toBe(expectedListData.message);
expect(listData.data).toBe(expectedListData.data)
});
});
mock / workflow
import { listData } from "./data";
export const list = () => {
return new Promise((resolve, reject) => {
const data = listData;
if (data) {
resolve(data)
} else {
reject({
error: "List not found..."
})
}
});
};
У меня постоянно появляется сообщение о том, что listData.message не определено, а когда я регистрирую переменную listData, она также не определена, хотя Обещание в моем файле "workflow.test. js" должно разрешать список данных.
Я впервые пытаюсь выполнить некоторые тесты, и я просто не уверен, что я делаю неправильно. Я искал много мест, пытаясь заставить это работать, но все, что я пробовал, не работало. Просто надеюсь получить несколько указателей, потому что я не уверен, что еще можно попробовать на этом этапе.