Как накрыть аддевентлизистером в шутку - PullRequest
0 голосов
/ 09 января 2019

Не в состоянии покрыть нижеприведенные высказывания в шутку.

initListener = (logout, refreshToken) => {
  document.body.addEventListener("click", () => this.reset(logout, refreshToken));
  document.body.addEventListener("onkeydown", () => this.reset(logout, refreshToken));
  document.body.addEventListener("onkeyup", () => this.reset(logout, refreshToken));
  document.body.addEventListener("onkeypress", () => this.reset(logout, refreshToken));
};

и

logout = (logout, refreshToken) => {
  logout();
  redirect(appConstants.LOGIN, []);
  document.body.removeEventListener("click", () => this.reset(logout, refreshToken));
  document.body.removeEventListener("keydown", () => this.reset(logout, refreshToken));
  document.body.removeEventListener("keyup", () => this.reset(logout, refreshToken));
  document.body.removeEventListener("keypress", () => this.reset(logout, refreshToken));
  storageClearAll();
};

1 Ответ

0 голосов
/ 09 января 2019

Я согласен с @lonut, что это нереактивный способ действий.

Тем не менее, если что-то подобное нужно проверить ...

До испытания:

document.body.addEventListener = jest.fn((event, cb) => {
      map[event] = cb;
    });

В тесте можно проверить, что были добавлены слушатели, и имитировать подобные события

map.click(...)
map.keydown(...)
map.keyup(...)
map.keypress(...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...