Насмешка над материалом-UI Выберите компонент с шуткой - PullRequest
1 голос
/ 02 мая 2019

Я создал компонент React, который я пытаюсь протестировать с помощью React Testing Library .В моем компоненте у меня есть следующий компонент выбора и его обработчик изменения

Component.jsx

<SingleSelect
  name="filter"
  label="Status"
  value={this.state.weatherStatus}
  options={this.state.weatherStatusOptions}
  onChange={this.handleFilterChange}
  testId="status"
/>

onChange handleFilterChange function

handleFilterChange = (event) => {
  this.setState({ weatherStatus: event.value });
}

Примером передаваемого значения this.state.weatherStatus является { id: 1, text: "cool weather"}. Для этого я попытался написать макет, как показано ниже.

jest.mock('@material-ui/core/Select', () => props => (
  <div>
    <input
      onChange={(e) => props.onChange({ target: { value: e.target.value }})}
      value={props.value}
      data-testid={props['data-testid']}
    />
    {props.children}
  </div>
));

fireEvent.change(getByTestId('select'), { target: { value: { id: 1, text: "cool" } } });
expect(getByTestId('select').value).toEqual({ id: 1, text: "cool" });

Но он не работает вообще.Любое предложение?

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