Как смоделировать onChange в компоненте autoComplete material-ui и проверить значение состояния с помощью jest и энзима - PullRequest
0 голосов
/ 29 мая 2020

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

import React from 'react';
import TextField from '@material-ui/core/TextField';
import Autocomplete from '@material-ui/lab/Autocomplete';

const options = [{ value: 'Option 1'}, {value: 'Option 2'}]

export default function ControllableStates() {
  const [value, setValue] = React.useState(options[0])

  return (
    <div>
      <Autocomplete
        value={value}
        onChange={(event, newValue) => {
          setValue(newValue);
        }}
        getOptionLabel={(option) => option.value}
        getOptionSelected={(option, value) => option.value === value.value}
        id="controllable-states-demo"
        options={options}
        style={{ width: 300 }}
        renderInput={(params) => <TextField {...params} label="Controllable" variant="outlined" />}
      />
    </div>
  );
}

1 Ответ

0 голосов
/ 08 июня 2020

Material UI Autocomplete - это оболочка для входного тега. Событие onChange связано с тегом input, а не с компонентом Autocomplete. Одним из возможных решений может быть использование пользовательских событий для тестирования.

...