У меня есть некоторые фрагменты кода Vanilla Javascript (с JQuery, но без каких-либо основных интерфейсных сред, таких как React / Angular). Код выглядит следующим образом:
setupIconClickEvents() {
$('#someButton').on('click', (e) => {
callFunction(parameters);
e.stopPropagation();
});
}
Я хочу смоделировать нажатие кнопки, чтобы проверить, была ли вызвана функция, что я легко могу сделать с помощью шпиона. Однако функция никогда не попадет внутрь. Это моя текущая попытка
describe('setupIconClickEvents()', () => {
beforeAll(() => {
object.setupIconClickEvents();
document.body.innerHTML = `
<div>
<button id="someButton"></div>
</div>
`;
});
describe('rankIcon', () => {
it('should stop event propagation', () => {
jest.spyOn(object, 'callFunction');
$('#someButton').trigger('click');
expect(object.callFunction).toHaveBeenCalled();
});
});
});
Как попасть внутрь фрагмента кода, когда я нажимаю кнопку?