Как проверить метод события Window beforeunload - Angular Unit Test - PullRequest
0 голосов
/ 19 июня 2020

Я работаю в проекте Angular 8.

Я хотел, чтобы окно выдавало запрос подтверждения, если пользователь пытается уйти с сайта, я смог сделать это, добавив эту функцию к моему компоненту.

@HostListener("window:beforeunload", ["$event"])
  unloadNotification($event: any) {
    if (this.confirmNavigation) {
      $event.returnValue = true;
    }
  }

Теперь я пытаюсь понять, как выполнить модульное тестирование, и я не уверен, как это сделать. Нужно ли мне издеваться над окном, чтобы вызвать событие? Могу ли я создать какой-то объект события и вызвать unloadNotification с ним напрямую (хотя не уверен, как проверить результат)?

Я даже уверен, что если это необходимо при модульном тестировании, будет ли это быть скорее интеграционным тестом?

Мне также нужно убедиться, что это приглашение фактически не запускается, когда я запускаю тесты в карме (потому что это остановит тест). Так что мне нужно поиздеваться над этим?

Кроме того, я думаю, что хочу уничтожить этого слушателя в afterEach из моих тестов, но не знаю, как это сделать.

Любая помощь будет принята с благодарностью.

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