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', () => {