Я работаю над тестированием в Jest и ищу способ протестировать определенную функцию с изменением, поэтому мне нужно, чтобы тест имитировал изменение.
это мой тест
it('Expect HandleFilterChange', () => {
const handleFilterChange = jest.fn();
handleFilterChange();
const handleChange = wrapper.find("noJava8")
console.log("this is what Handle Change Equals ",handleChange)
expect(handleChange).toEqual("")
handleChange.simulate('lowCodeCoverage', { handleFilterChange: 27 });
expect(store.getActions()[0]).to.deep.equal(noJava8);
expect(handleFilterChange).toHaveBeenCalled()
})
и это мой код
handleChange = name => event => { console.log(name)
var options = {lowCodeCoverage: this.props.lowCodeCoverage, noBasePOM: this.props.noBasePOM, noJava8: this.props.noJava8};
options[name] = event.target.checked;
this.props.handleFilterChange(options);
console.log(this.handleChange)
};
<FormControlLabel
control={<Checkbox checked={this.props.lowCodeCoverage}
onChange={this.handleChange('lowCodeCoverage')}
value="lowCodeCoverage" color="primary" />}
label={I18n.t('filters.low-code-coverage')}
/>
<FormControlLabel
<WithStyles(FormControl) component="filter-options">
<WithStyles(FormGroup)>
<WithStyles(FormControlLabel) id="lowCodeCoverage" control={{...}} label="low-code-coverage" />
<WithStyles(FormControlLabel) id="noBasePom" control={{...}} label="no-base-pom" />
<WithStyles(FormControlLabel) id="noJava8" control={{...}} label="no-java-8" />
</WithStyles(FormGroup)>