diff --git a/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx b/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx index 31e390bf1..1a63f8ff1 100644 --- a/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx +++ b/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx @@ -819,6 +819,39 @@ describeWithDOM('mount', () => { expect(wrapper.find('a[href="/page#anchor"]')).to.have.lengthOf(1); }); }); + + it('updates when the top level wrapper\'s .update() method is called', () => { + class Input extends React.Component { + constructor() { + super(); + this.state = { value: 'some text' }; + this.updateValue = this.updateValue.bind(this); + } + + updateValue(value) { + this.setState({ value }); + } + + render() { + return ( +
+ +

{this.state.value}

+
+ ); + } + } + + const inputWrapper = mount(); + const paragraph = inputWrapper.find('p'); + const input = inputWrapper.find('input'); + + const callback = input.prop('onChange'); + callback('some different text'); + inputWrapper.update(); + + expect(paragraph.prop('children')).to.equal('some different text'); + }); }); describe('.findWhere(predicate)', () => {