I am trying to do/write unit test of below function.
import { getDetail } from "./api";
export const fetchDetail = async (jobNumber) => {
try {
const response = await getDetail(jobNumber);
if (response.data) {
const jobDetail = response.data;
if (
jobDetail &&
jobDetail.general_details &&
jobDetail.general_details.job_order_type.value
) {
return {};
} else {
return {};
}
}
} catch (e) {
console.log("Error", e.message);
}
};
getDetail function is this one
import axios from "axios";
export const getDetail = async (jobNumber) => {
return await axios.get(`/user${jobNumber}`);
};
I am trying like this using jest-mock-axios npm package
i
mport mockAxios from "jest-mock-axios";
import { fetchDetail } from "./helper";
describe("Loading Tally helper functions", () => {
afterEach(() => {
mockAxios.reset();
});
describe("fetch Job Order Detail function", () => {
test("will call getJobOrderDetail function", async () => {
const output = await fetchDetail();
const users = [
{ id: 1, name: "John" },
{ id: 2, name: "Andrew" }
];
console.log(mockAxios);
console.log(mockAxios.get);
mockAxios.get.mockResolvedValueOnce(users);
const input = null;
console.log(output);
expect(true).toBe(true);
}, 3000000000);
});
});
getting error
Do not import @jest/globals
outside of the Jest test environment
here is my code https://codesandbox.io/s/friendly-parm-vtczcs?file=/src/helper.test.js:0-669