|
|
- import _$ from 'jquery';
- import React from 'react';
- import ReactDOM from 'react-dom';
- import TestUtils from 'react-addons-test-utils';
- import jsdom from 'jsdom';
- import chai, { expect } from 'chai';
- import chaiJquery from 'chai-jquery';
- import { Provider } from 'react-redux';
- import { createStore } from 'redux';
- import reducers from '../src/reducers';
-
- global.document = jsdom.jsdom('<!doctype html><html><body></body></html>');
- global.window = global.document.defaultView;
- global.navigator = global.window.navigator;
- const $ = _$(window);
-
- chaiJquery(chai, chai.util, $);
-
- function renderComponent(ComponentClass, props = {}, state = {}) {
- const componentInstance = TestUtils.renderIntoDocument(
- <Provider store={createStore(reducers, state)}>
- <ComponentClass {...props} />
- </Provider>
- );
-
- return $(ReactDOM.findDOMNode(componentInstance));
- }
-
- $.fn.simulate = function(eventName, value) {
- if (value) {
- this.val(value);
- }
- TestUtils.Simulate[eventName](this[0]);
- };
-
- export {renderComponent, expect};
|