Попытка протестировать событие onChange с помощью Jest / Enzyme для React js. Тест проходит в данный момент, но когда я запускаю тестовое покрытие npm, покрытие не изменяется.Возможно, что-то не так с моим установленным состоянием?
Вот часть моего тестового файла:
beforeEach(() => (wrapper = mount(
<MemoryRouter keyLength={0}>
<Notifications {...baseProps} />
</MemoryRouter>
)));
it("should call onChange event on checkboxCell", () => {
wrapper.find('Notifications').setState({
data:[{
Notification_UID:[]
}],
selectedRows:[],
selectedRowsValues:'test',
});
wrapper.update()
wrapper.find('Notifications')
.find('.grid-checkbox')
.simulate('change',{target: {value: 'testing1'}} )
expect(wrapper.find('Notifications').state().selectedRowsValues)
.toEqual('test');
});
Также пробовал следующее:
wrapper.find('Notifications').find('.grid-checkbox').simulate('change',{data: [{Notification_UID: 'testing1'}]} )
Вот код.JS
checkboxCell = (cellInfo) => {
return (
<div className='grid-checkbox'>
<input
id={cellInfo.index + cellInfo.column.id}
type='checkbox'
className={cellInfo.viewIndex%2 === 0 ? 'custom-grid-input even-row' : 'custom-grid-input odd-row'}
key={cellInfo.index + cellInfo.column.id}
disabled={false}
onChange={(e) => {this.handleRowSelect(this.state.data[cellInfo.index].Notification_UID , this.state.data[cellInfo.index])}}
checked={this.state.selectedRows.includes(this.state.data[cellInfo.index].Notification_UID)}
/>