Вот демонстрация того, чего я пытаюсь достичь: ссылка
Дело в том, что я вижу, что могу изменить значение и установить флажок, если нетСвойство defaultChecked, но это унаследованный код, и я не могу его легко удалить, мне нужно это свойство там.
Мне нужно: e.currentTarget.checked для проверки в среде тестирования, это ложно.ЭТО сбывается, когда я удаляю defaultChecked false, но мне это нужно там.
Я использую реагировать на тестирование библиотеки с помощью jest.
И код издемо здесь:
export class OptionCheckbox extends React.Component {
changeHandler = e => {
console.log("onchange triggered", e.currentTarget.checked);
};
render() {
return (
<div>
<input
onChange={this.changeHandler}
defaultChecked={false}
id="test"
name="test"
type="checkbox"
/>
<label htmlFor="test">
<span />
Test
</label>
</div>
);
}
}
// TEST
test("Example test of change event", () => {
const component = renderIntoDocument(<OptionCheckbox />);
component.getByLabelText("Test").setAttribute("checked", "");
fireEvent.change(component.getByLabelText("Test"));
component.unmount();
});