title: babel, jest: TypeError: (0 , _connector2.default) is not a function
body: <p>My jest test errors out but my app transpiles (webpack) and runs without error.  I did recently switch to babel-preset-env but I still get the same error.</p>
  
  <p>relevant package.json:</p>
  
  <pre><code>"jest": "^20.0.4",
  "jest-fetch-mock": "^1.0.8",
  "babel-core": "^6.22.1",
  "babel-jest": "^20.0.3",
  "babel-preset-es2015": "^6.22.0",
  "babel-preset-stage-0": "^6.22.0",
  </code></pre>
  
  <p>.babelrc</p>
  
  <pre><code>{
    "presets": ["es2015", "stage-0"],
    "plugins": [
      ["inferno", {"imports": true}],
      ["transform-es2015-classes", {"loose": true}]
    ],
    "env": {
      "test": {
        "presets": ["es2015", "stage-0"]
      }
    }
  }
  </code></pre>
  
  <p>src/js/modules/ui/components/UIObject/index.jsx up to line 17</p>
  
  <pre><code>import TwitterComponent from './twitter';
  import AdComponent, { networks } from './ad';
  import RssComponent from './rss';
  import WwwComponent from './www';
  import connector from '../../connector';
  const types = ['twitter', 'ads', 'rss', 'www'];
  const getTitleByType = (type, data) =&gt; {
      const titles = {
          twitter: data['data-widget-id'],
          ad: `${networks[data.network]} (${data.key})`,
          ads: `${networks[data.network]} (${data.key})`,
          rss: data.url,
          www: data.url
      };
      return titles[type];
  };
  const Ad = connector(AdComponent, ['noSubmit', 'ads']);
  ...
  </code></pre>
  
  <p>../../connector.js</p>
  
  <pre><code>import { connect } from 'inferno-redux';
  import { actions } from './reducers/main';
  import { bindActionCreators } from 'redux';
  import Immutable from 'seamless-immutable';
  const connector = (component, keys = null) =&gt; {
      const mapDispatchToProps = dispatch =&gt; {
          return bindActionCreators(Object.assign({}, actions), dispatch);
      };
      const mapStateToProps = state =&gt; {
          const _state = {};
          const stateKeys = Object.keys(Immutable.asMutable(state.main));
          for (let key of stateKeys) {
              if ((Array.isArray(keys) &amp;&amp; keys.includes(key)) || keys === null) {
                  _state[key] = Immutable.getIn(state.main, [key]);
              }
          }
          return _state;
      };
      return connect(mapStateToProps, mapDispatchToProps)(component);
  };
  export { connector };
  export default connector;
  </code></pre>
  
  <p>console output:</p>
  
  <pre><code>FAIL  src/__tests__/modules/ui/components/Main/index.spec.jsx
    ● Test suite failed to run
  
      TypeError: (0 , _connector2.default) is not a function
  
        at Object.&lt;anonymous&gt; (src/js/modules/ui/components/UIObject/index.jsx:17:109)
        at Object.&lt;anonymous&gt; (src/js/modules/ui/components/UIObjectsComponent/index.jsx:2:43)
        at Object.&lt;anonymous&gt; (src/js/modules/ui/reducers/main.js:367:305)
        at Object.&lt;anonymous&gt; (src/js/modules/ui/connector.js:2:39)
        at Object.&lt;anonymous&gt; (src/js/modules/ui/components/Main/index.jsx:3:44)
        at Object.&lt;anonymous&gt; (src/__tests__/modules/ui/components/Main/index.spec.jsx:3:13)
            at &lt;anonymous&gt;
        at process._tickCallback (internal/process/next_tick.js:188:7)
  
  Test Suites: 1 failed, 1 total
  Tests:       0 total
  Snapshots:   0 total
  Time:        14.381s
  </code></pre>
  
  <p>For reference:</p>
  
  <p><a href="https://github.com/facebook/jest/issues/4405" rel="nofollow noreferrer">github issue</a></p>