1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-23 02:10:12 +01:00
metamask-extension/test/lib/render-helpers.js
2020-02-15 17:04:21 -03:30

51 lines
1.0 KiB
JavaScript

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 = () => (
<MemoryRouter initialEntries={[{ pathname }]} initialIndex={0}>
{component}
</MemoryRouter>
)
return mount(<Wrapper />, createContext())
}