title: Invariant Violation: Element type is invalid: expected a string (for built-in components) when testing with enzyme mount
body: <p>I am testing a wrapper component which renders its children using children props. The problem is that in the test file, when I set the wrapper, it works fine. But when I clone the children props in component, I get the following error: </p>
  
  <pre><code>Invariant Violation: Element type is invalid: expected a string (for 
  built-in components) or a class/function (for composite components) but 
  got: undefined. You likely forgot to export your component from the 
  file it's defined in, or you might have mixed up default and named imports.
  </code></pre>
  
  <p>This happens only when using mount and not shallow, I want this to work with mount.</p>
  
  <pre><code>class Parent extends React.Component {
      render() {
         const { someProps, someOtherProps, anotherProp } = this.props;
  
          return (
              &lt;ParentWrapper someInfo={someProps} &gt;
                  &lt;One someOtherProps={someOtherProps} /&gt;
                  &lt;Two  anotherProp={anotherProp} /&gt;
              &lt;/ParentWrapper&gt;
          );
      }
  }
  </code></pre>
  
  <p>ParentWrapper:</p>
  
  <pre><code>class ParentWrapper extends React.Component {
      render() {
          const {children, somethin} = this.props;
          const clonedChildren = React.cloneElement(children, R.merge(children.props, { somethin }));
  
          return (
              &lt;div&gt;
                  {clonedChildren}
              &lt;/div&gt;
          );
      }
  }
  </code></pre>
  
  <p>testfile:</p>
  
  <pre><code> const Parent = require('parent');
   panel = mount(&lt;Parent {...defaultProps} /&gt;);
  </code></pre>