Prueba del componente de reacción incluido en el enrutador (preferiblemente usando broma / enzima)
Tengo un componente Reaccionar que se incluye dentro del Componente de orden superior con enrutador de la siguiente manera:
module.exports = withRouter(ManageProfilePage);
Mis rutas son las siguientes:
<Route path="/" component={AdrApp}>
<IndexRoute component={Login}/>
<Route component={CheckLoginStatus}>
<Route path="manage-profiles/:profileId" component=
{ManageProfilesPage}/>
</Route>
<Route path="*" component={notFoundPage}/>
</Route>
Necesito usar una vez los métodos de ciclo de vida del Router, es por eso que necesito withRouter:
class ManageProfilePage extends React.Component {
componentDidMount() {
this.props.router.setRouteLeaveHook(this.props.route, () => {
...
})
render(){
...
}
}
Necesito probar este componente usando Jest / Enzyme y escribí el caso de prueba de la siguiente manera:
describe('manage profile page test suite', () => {
it('snapshot test', () => {
const setRouteLeaveHook =jest.fn();
let wrapper = shallow(
<ManageProfilePage params={{id : 25, router:
setRouteLeaveHook}}/>
);
expect(wrapper).toMatchSnapshot();
})
})
El problema es que no está representando un nivel de profundidad. Estoy pegando la instantánea a continuación:
exports[`manage drug term page test suites snapshot test 1`] = `
<ManageProfilePage
params={
Object {
"id": 25,
"router": [Function],
}
}
/>
`;
¿Hay alguna forma diferente de escribir mi caso de prueba para poder representar ManageProfilePage al menos 1 nivel de profundidad? ¿No puede renderizar ya que está dentro de WithRouter? ¿Cómo probamos este tipo de componentes?