Files
ncd-fe/app/soapbox/test_helpers.js
2020-06-09 22:14:48 -05:00

29 lines
885 B
JavaScript

'use strict';
import React from 'react';
import thunk from 'redux-thunk';
import renderer from 'react-test-renderer';
import { Provider } from 'react-redux';
import { IntlProvider } from 'react-intl';
import { BrowserRouter } from 'react-router-dom';
import configureMockStore from 'redux-mock-store';
import { Map as ImmutableMap } from 'immutable';
// Mock Redux
// https://redux.js.org/recipes/writing-tests/
const middlewares = [thunk];
export const mockStore = configureMockStore(middlewares);
// Create test component with i18n and Redux store, etc
export const createComponent = (children, props = { locale: 'en', store: mockStore(ImmutableMap()) }) => {
return renderer.create(
<Provider store={props.store}>
<IntlProvider locale={props.locale}>
<BrowserRouter>
{children}
</BrowserRouter>
</IntlProvider>
</Provider>
);
};