тест document.addEventListender не работает с использованием Jest и Enzyme - PullRequest
0 голосов
/ 28 декабря 2018

Пример компонента:

class Modal extends Component {
  componentDidMount() {
    document.addEventListener('keydown', this.onEscPress, false);
  }

  componentWillUnmount() {
    document.addEventListener('keydown', this.onEscPress, false);
  }

  @bind onEscPress(event) {
    if (event.keyCode === 27) {
      this.props.onClose();
    }
  }

  render() {
    <div className=".modal">...</div>
  }
}

Мой тест:

const closeModal = jest.fn();
const wrapper = shallow(<Modal onClose={closeModal} />);

it('executes the `onClose` function when `esc` key is pressed', () => {
  const modal = wrapper.find('.modal');
  modal.simulate('keydown', { keyCode: 27 });
  expect(closeModal).toBeCalled();
});

Но мой тест не пройден, потому что closeModal() не запускается ...

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