React testing component prop change with enzyme
<p>I am modifying an example found here:</p>

<p><a href="https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/setProps.md" rel="noreferrer">https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/setProps.md</a></p>

<pre><code>class Foo extends React.Component {
    render() {
        return (
            &lt;input className={this.props.name} type="text" value={this.props.name} onChange={()=&gt;{}} /&gt;
        );
    }
}

it('should pass and does not', ()=&gt; {
    const wrapper = mount(&lt;Foo name="foo" /&gt;);
    expect(wrapper.find('.foo').html()).toBe(`&lt;input class="foo" type="text" value="foo"&gt;`);
    wrapper.setProps({ name: 'bar' });
    expect(wrapper.find('.bar').html()).toBe(`&lt;input class="bar" type="text" value="bar"&gt;`);
});

Result: Expected '&lt;input class="bar" type="text" value="foo"&gt;' to be '&lt;input class="bar" type="text" value="bar"&gt;'.
</code></pre>

<p>You can see from the result of the test that the className attribute was correctly updated on prop change.  But the value of the input remains incorrectly set to 'foo'.</p>

<p>Any ideas on how I can assert that value has been correctly changed on the component receiving new props to a value attribute on an input?</p>