В моем тесте есть несколько событий onChange и onBlur, но он не вызывает метод правильно. Не уверен, стоит ли мне тестировать метод напрямую или пытаться исправить мои события
Использование Jest и Enzyme для React JS
Вот метод
updateContext = (e) => {
var tempContext = this.state.context;
switch(e.target.id){
case "ParameterTypeId":
tempContext.ParameterTypeId = e.target.value;
break;
case "DataTypeId":
tempContext.DataTypeId = e.target.value;
break;
default:
break;
}
this.setState({
context: tempContext,
})
Вот еще один метод, который вызывает ParamterTypeId
renderTypeDown = () => {
<select id='ParameterTypeId' defaultValue={'default'} onChange={this.updateContext}>{ contextTypes }</select>
Вот как я настраиваю тест для ParameterTypeId
it(" Test onChange event on renderTypeDown", () => {
wrapper.setProps({
parameterTypes:{
value:[{key:"", value:'test'}],
},
});
wrapper.setState({
context: {
ParameterTypeId: 'testdata',
},
});
wrapper.update()
wrapper.find('select').find('#ParameterTypeId').simulate('change',{ target: { value:'test'}})
expect(wrapper.state('context').ParameterTypeId).toEqual('testdata');
});
Как я могу проверить метод напрямую?