diff --git a/packages/material-ui/src/internal/SwitchBase.test.js b/packages/material-ui/src/internal/SwitchBase.test.js index a39f7d1ae8b1e6..4c0890476fced4 100644 --- a/packages/material-ui/src/internal/SwitchBase.test.js +++ b/packages/material-ui/src/internal/SwitchBase.test.js @@ -194,23 +194,29 @@ describe('', () => { }); it('should call onChange when controlled', () => { - const checked = true; - const handleChange = spy(); - const { getByRole, setProps } = render( - , - ); + const defaultChecked = true; + function ControlledSwichBase() { + const [checked, setChecked] = React.useState(defaultChecked); - getByRole('checkbox').click(); - setProps({ checked: false }); + return ( + setChecked(event.target.checked)} + /> + ); + } - expect(handleChange.callCount).to.equal(1); - expect(handleChange.firstCall.args[0].target.checked).to.equal(!checked); + const { getByRole } = render(); + const checkbox = getByRole('checkbox'); + + act(() => { + checkbox.click(); + }); + + expect(checkbox).to.have.property('checked', !defaultChecked); }); it('should not change checkbox state when event is default prevented', () => {