mirror of
https://github.com/react-webpack-generators/generator-react-webpack.git
synced 2025-12-08 18:01:59 +00:00
28 lines
968 B
JavaScript
28 lines
968 B
JavaScript
/**
|
|
* Function to get the shallow output for a given component
|
|
* As we are using phantom.js, we also need to include the fn.proto.bind shim!
|
|
*
|
|
* @see http://simonsmith.io/unit-testing-react-components-without-a-dom/
|
|
* @author somonsmith
|
|
*/
|
|
|
|
// Add missing methods to phantom.js
|
|
import './pack/phantomjs-shims';
|
|
|
|
import React from 'react/addons';
|
|
const TestUtils = React.addons.TestUtils;
|
|
|
|
/**
|
|
* Get the shallow rendered component
|
|
*
|
|
* @param {Object} component The component to return the output for
|
|
* @param {Object} props [optional] The components properties
|
|
* @param {Mixed} ...children [optional] List of children
|
|
* @return {Object} Shallow rendered output
|
|
*/
|
|
export default function createComponent(component, props = {}, ...children) {
|
|
const shallowRenderer = TestUtils.createRenderer();
|
|
shallowRenderer.render(React.createElement(component, props, children.length > 1 ? children : children[0]));
|
|
return shallowRenderer.getRenderOutput();
|
|
}
|