Comment se moquer de réagir-routeur contexte

J'ai assez simple réagir composant (Lien wrapper qui ajoute "active" de la classe si la route est active):

import React, { PropTypes } from 'react';
import { Link } from 'react-router';

const NavLink = (props, context) => {
  const isActive = context.router.isActive(props.to, true);
  const activeClass = isActive ? 'active' : '';

  return (
    <li className={activeClass}>
      <Link {...props}>{props.children}</Link>
    </li>
  );
}

NavLink.contextTypes = {
  router: PropTypes.object,
};

NavLink.propTypes = {
  children: PropTypes.node,
  to: PropTypes.string,
};

export default NavLink;

Comment suis-je censé le tester? Ma seule tentative a été:

import NavLink from '../index';

import expect from 'expect';
import { mount } from 'enzyme';
import React from 'react';

describe('<NavLink />', () => {
  it('should add active class', () => {
    const renderedComponent = mount(<NavLink to="/home" />, { router: { pathname: '/home' } });
    expect(renderedComponent.hasClass('active')).toEqual(true);
  });
});

Il ne fonctionne pas et renvoie TypeError: Cannot read property 'isActive' of undefined. Il a certainement besoin de quelques routeur moqueur, mais je n'ai aucune idée de comment l'écrire.

InformationsquelleAutor jmarceli | 2016-06-30