import React from 'react'
import { mount } from 'enzyme'
import { MemoryRouter } from 'react-router-dom'
import PropTypes from 'prop-types'
export function mountWithStore (component, store) {
const context = {
store,
}
return mount(component, { context })
}
export function mountWithRouter (component, store = {}, pathname = '/') {
// Instantiate router context
const router = {
history: new MemoryRouter().history,
route: {
location: {
pathname: pathname,
},
match: {},
},
}
const createContext = () => ({
context: {
router,
t: (str) => str,
tOrKey: (str) => str,
metricsEvent: () => {},
store,
},
childContextTypes: {
router: PropTypes.object,
t: PropTypes.func,
tOrKey: PropTypes.func,
metricsEvent: PropTypes.func,
store: PropTypes.object,
},
})
const Wrapper = () => (
{component}
)
return mount(, createContext())
}