Задать вопрос
@0Bannon

Jest как протестировать вызов функции из eventListener'a?

У меня есть кнопка, на ней обработчик по клику, срабатывает стрелочная функция, в ней вызывается другая функция showHideButton. Всё просто. Но как мне проверить, что эта функция была вызвана? Я уже перепробовал всё, что мог. Только изучаю Jest.
export function initListeners(app) {
  const button = app.querySelector("button");
  const input = app.querySelector("input");
 
  button.addEventListener("click", (ev) => {
    ev.preventDefault();
    showHideButton(button, input.value);
  });
}

тест
import { showHideButton } from "./initListeners";
const app = document.querySelector("#app");
const button = document.body.querySelector("button");
initListeners(app);
describe("this suit tests event listener", () => {
  it("checks event listener", () => {
    showHideButton = jest.fn();
    button.dispatchEvent(new Event("click"));
    expect(showHideButton).toHaveBeenCalled();
  });
});

Выдает ошибку и showHideButton is read-only. Как правильно сделать?
  • Вопрос задан
  • 294 просмотра
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы