Я пытаюсь создать модульный тест с помощью Jest. У меня есть функция, которая проверяет версию набора требований Outlook, и если «набор» поддерживается, он что-то делает - в этом случае он закрывает надстройку.
if (Office.context.requirements.isSetSupported('Mailbox', '1.15') {...}
В модуле test, я попытался имитировать внешние значения вызова isSetSupported () , но при запуске getCloseAddin () я получаю сообщение об ошибке:
Office. context.requirements.isSetSupported не является функцией
Он не распознает созданную мною фиктивную функцию. Я также пытался изменить значения global.Office
global.Office = {
context: {
requirements: {
isSetSupported: {'Mailbox', '1.5'}
}
}
}; но безуспешно.
файл. js
const getCloseAddin = () => {
try {
const Office = getOffice();
if (Office.context.requirements.isSetSupported('Mailbox', '1.15')) {
return Office.context.ui.closeContainer();
}
} catch (e) {
console.error('Cannot close the add-in properly.');
return null;
}
};
file.test. js
it('verify we gets Undefined when working with supported version', async () => {
const mockedIsSetSupported = jest.fn();
mockedIsSetSupported.mockReturnValueOnce('Mailbox', '1.5');
global.Office = {
context: {
requirements: {
mockedIsSetSupported
}
}
};
const closeAddin = await getCloseAddin();
expect(closeAddin).toBeUndefined();
});