e.target.getAttribute не является функцией - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь проверить событие onChange и получаю следующую ошибку:

TypeError: e.target.getAttribute не является функцией Jest / Enzyme React JS

Вот метод:

handleChange = (e) => {
let key = e.target.name
let value = e.target.getAttribute('value')
let otherValue = e.target.value
let localState = {}
let chartObj = {}
if (value == null && otherValue != undefined) {
  localState[key] = otherValue
  chartObj = this.buildChartObj({ switchValue: key, chartObjValue: otherValue })
} else {
  localState[key] = value
  chartObj = this.buildChartObj({ switchValue: key, chartObjValue: value })

}
this.props.updateViewXMLValue(chartObj)
this.setState(localState)
}

Часть кода, где onChange вызывает handleChange

  buildCategoryDropdown = () => {

 <div className='tab-input-container'>
   <select className='shape-dropdown' onChange={this.handleChange} name='category' defaultValue={!this.props.defaultData.category.$.id ? 'default' : this.props.defaultData.category.$.id}>
       {categories}

тестовый файл: есть 3 classNames: shape-dropdown ', тестовые проходы для симуляции в (0), но не для 1 и 2. Я также попытался добавить Id, но все еще получаю ту же ошибку

 it('should call onChange event', () => {
 baseProps.onChange.mockClear();
wrapper.setState({
localState:{},
 });
 wrapper.update();
 wrapper.find('.shape-dropdown').at(0).simulate('change',{ target: {name: 'value'}, value:"value" })
expect(wrapper.state('localState')).toEqual('value')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...