React Router (v4)
Introduction
This plugin sets up the context required for react-router (v4) and exposes a history instance so that tests can manipulate the URL. With this plugin enabled, it is possible to mount all react-router components in your test, including <Link />, <Route />, etc.
Installation
Setup required peer dependencies: enzyme, react, react-router v4, and react-test-renderer.
Install via yarn or npm
$> yarn add -D enzyme-context enzyme-context-react-router-4Add to plugins:
import { createMount, createShallow } from 'enzyme-context'; import { routerContext } from 'enzyme-context-react-router-4'; const plugins = { history: routerContext(), }; export const mount = createMount(plugins); export const shallow = createShallow(plugins);
Usage
After adding the plugin to your mount/shallow, it can be used in your tests like so:
Configuration API
routerContext() => EnzymePlugin
routerContext() => EnzymePluginReturns
EnzymePlugin: The plugin which can be passed to createMount/createShallow.
Example:
Mount/Shallow API
This plugin also allows some configuration to be passed at mount-time:
routerConfig(Object[optional]): any of the configuration options ofhistory'screateMemoryHistory(). For example, we can set the URL before our component mounts like so:
Last updated
Was this helpful?