title: React testing component prop change with enzyme
body: <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>