diff --git a/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx b/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx index 3947654d2..403f7b1d9 100644 --- a/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx +++ b/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx @@ -2012,6 +2012,35 @@ describe('shallow', () => { }); }); + describeIf(is('>= 16.8'), 'hooks', () => { + it('handles useState', () => { + const ComponentUsingStateHook = () => { + const [count] = useState(0); + return
{count}
; + }; + + const wrapper = shallow(); + + expect(wrapper.find('div').length).to.equal(1); + expect(wrapper.find('div').text()).to.equal('0'); + }); + + it('handles setState returned from useState', () => { + const ComponentUsingStateHook = () => { + const [count, setCount] = useState(0); + return
setCount(count + 1)}>{count}
; + }; + + const wrapper = shallow(); + const div = wrapper.find('div'); + const setCount = div.prop('onClick'); + setCount(); + wrapper.update(); + + expect(wrapper.find('div').text()).to.equal('1'); + }); + }); + describeWithDOM('find DOM elements by constructor', () => { const { elements, all } = getData();