Мой проект - приложение React, использующее Jest.
Мне нужно протестировать функцию, в которой я определяю const. Const устанавливается с использованием импортированной службы.
Я хочу смоделировать const для проверки оператора if-else
Вот файл, который я хочу проверить:
import { authenticationService } from "../_services/authentication.service";
export const handleHeaders = (isFile = false) => {
const currentUser = authenticationService.currentUserValue;
if (currentUser && currentUser.access_token) {
return isFile
? {
Authorization: `Bearer ${currentUser.access_token}`,
"Content-Disposition": "multipart/form-data"
}
: {
Authorization: `Bearer ${currentUser.access_token}`,
"Content-Type": "application/json"
};
} else {
return { "Content-Type": "application/json" };
}
};
Я попытался смоделировать аутентификацию службы аутентификации, как показано ниже
import { handleHeaders } from "../handle-headers";
jest.mock("../../_services/authentication.service", () => ({
currentUserValue: { access_token: "some token" }
}));
describe("handleHeaders", () => {
it("should return headers with Authorization if
currentUser.access_token is defined", () => {
expect(handleHeaders()).toStrictEqual({
Authorization: "Bearer some token",
"Content-Type": "application/json"
});
});
});
Но я получил TypeError: Невозможно прочитать свойство 'currentUserValue' из неопределенного, когда функция пытается определить const currentUser.
Спасибо за вашу помощь