Как смоделировать событие ввода onChange, а затем смоделировать щелчок с результатами - PullRequest
1 голос
/ 17 марта 2020

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

Я создаю экземпляр оболочки,

const setup = (props = {}) =>
  mount(
    <Provider store={mockStore(props)}>
      <Router>
        <VirtualIssues />
      </Router>
    </Provider>,
  );

const wrapper = setup(defaultStore);

const input = wrapper.find(`[name="search-input"]`);

Проблема здесь в том, что он находит 6 разных узлов с этим именем (что само по себе странно). Итак, затем я пытаюсь выбрать узел и смоделировать событие onChange,

input.at(0).simulate('change', {
  target: { value: 'hello' },
});

Чтобы убедиться, что изменения вступили в силу, я пытаюсь распечатать его на консоли,

console.log(input.debug());

Однако значение «привет» нигде не найдено. Я даже пытался запустить input.update(), но это тоже не помогло. Что я тут не так делаю?

...