Я пытаюсь расширить окно отображения при нажатии на радио кнопку (из Material-UI). Есть только одна радиокнопка, которая имеет имя = «источник».
В моем рендере у меня есть:
<Radio
checked={this.state.someState === ix}
value={ix}
classes={{root: classes.checkbox, checked: classes.checked}}
onClick={(e)=> this.handleExpandClick(e, sources)}
name="source"
/>
handleExpandClick(event, sources) {
const selectedSources = [...this.props.sources] || [];
let index;
const selectedSource = (event.target.name);
console.log(selectedSource)
if (event.target && event.target.checked) {
if (selectedSources.indexOf(selectedSource) <=0) {
selectedSources.push(selectedSource)
} else {
index = selectedSources.indexOf(selectedSource)
if (index >= 0) {
selectedSources.splice(index, 1);
}
}
} else {
return null
}
this.setState({expandedSources: selectedSources})
Когда я console.log событие, имя идентифицируется как «источник» с допустимым значением, которое ожидается. Но проверка по-прежнему не проходит и говорят, что цель не определена.
Юнит-тест:
*wrapper/instance setup here
it('should fire the handleExpandClick function when source checkbox is clicked', () => {
const event = {target: {name: 'test'}};
let handleClick = instance.handleExpandClick(event, sources);
wrapper.find(Radio).at(0).simulate('click');
expect(handleClick.calledOnce).toBe(true);
});
Что я делаю не так? Я все еще изучаю правильное модульное тестирование, поэтому любой совет будет принят.