title: Test result - className not updated
body: <p>I'm unit testing in React (Jest, Enzyme). I expect #mail to have class 'solutions__mail-input', when input is changed, but it doesn't. Code:</p>
  <pre><code>inputEmail.simulate(&quot;change&quot;, {
        target: { value: &quot;test@test.com&quot;, name: &quot;mail&quot; },
      }); 
  </code></pre>
  <p>then:</p>
  <pre><code>expect(solutions.find(&quot;#mail&quot;).hasClass(&quot;solutions__mail-input&quot;)).toEqual(
        true
      );
  </code></pre>
  <p>And it is not greened, value of input is changed, logic of changing class is also good.</p>
  <p>Test:</p>
  <pre><code>
  
    it(&quot;test valid mail&quot;, () =&gt; {
      const solutions = shallow(&lt;Solutions /&gt;);
      const inputEmail = solutions.find(&quot;#mail&quot;);
      inputEmail.simulate(&quot;change&quot;, {
        target: { value: &quot;test@test.com&quot;, name: &quot;mail&quot; },
      });
      expect(solutions.find(&quot;#mail&quot;).props().value).toBe(&quot;test@test.com&quot;);
      expect(solutions.find(&quot;#mail&quot;).hasClass(&quot;solutions__mail-input&quot;)).toEqual(
        true
      );
    });
  
  </code></pre>
  <p>Component:</p>
  <pre><code>      &lt;input
          type=&quot;text&quot;
          placeholder=&quot;Email&quot;
          value={mail}
          id=&quot;mail&quot;
          name=&quot;mail&quot;
          className={`solutions__mail-input${!readyToSend ? &quot;--invalid&quot; : &quot;&quot;}`}
          onChange={(e) =&gt; {
            changeMail(e.target.value);
            validateMail();
          }}
        /&gt;
      
  </code></pre>