Jest: тестирование функции Asyn c - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь протестировать асинхронную функцию 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" должно разрешать список данных.

Я впервые пытаюсь выполнить некоторые тесты, и я просто не уверен, что я делаю неправильно. Я искал много мест, пытаясь заставить это работать, но все, что я пробовал, не работало. Просто надеюсь получить несколько указателей, потому что я не уверен, что еще можно попробовать на этом этапе.

...