Jest - тестирование EventChannel Redux-saga - PullRequest
1 голос
/ 03 октября 2019

У меня есть один файл саги с 2 функциями, одна - сама сага, а другая - функция, вызываемая моей сагой, которая использует библиотеку eventChannel из redux-saga.

export const hardwareBackChannel = () => eventChannel((emit): {} => {
  BackHandler.addEventListener('hardwarePress', () => {
    emit(true);
    return true; 
  });
  return (): * => {
    BackHandler.removeEventListener();
  };
});

export function* handleBackButtonEvent() {
  yield put(hardwareBackChannel());
}

Я смог успешно протестировать handleBackButtonEvent с помощью:

  describe('handleBackButtonEvent', () => {
    it('should call back button pressed action', () => {
      testSaga(handleBackButtonEvent)
        .next()
        .put(
          hardwareBackChannel(),
        );
    });
  });

Но я не смог понять, как я могу протестировать сам hardwareBackChannel, используя testSaga. Есть ли способ сделать это? Если нет, как я могу потенциально покрыть эту часть кода в моих тестах?

Я пытался искать весь день, но нашел только темы, в которых можно проверить мою сагу, а не саму функцию hardwareBackChannel.

Спасибо, заранее

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