Как проверить перенаправление с приложением routeChangeStart React / Next js? - PullRequest
0 голосов
/ 23 марта 2020

Я хочу проверить перенаправление страницы после нажатия на div, используя next / link, я пишу тестовый файл, как показано ниже, но он некорректен и показывает эту ошибку

Экземпляр маршрутизатора не найден. Вы должны использовать «next / router» только внутри клиентской части вашего приложения.

это мой код. Большое спасибо за вашу помощь

HeaderContainer.tsx

import Link from 'next/link'

<Link href="/notifications">
    <Bell className="bellTest" />
</Link>

test.tsx

import Router from 'next/router';
import { mount } from 'enzyme';

describe('Test of <HeaderContainer>', () => {
  const spies: any = {};

  beforeEach(() => {
    spies.routerChangeStart = jest.fn();
    Router.events.on('routeChangeStart', spies.routerChangeStart);
  });

  afterEach(() => {
    Router.events.off('routeChangeStart', spies.routerChangeStart);
  });

  test('Test the page redirect after click', async done => {
    const wrapper = mount(<HeaderComponent />);
    await wrapper
      .find('.bellTest')
      .at(0)
      .simulate('click');

    expect(spies.routerChangeStart).toHaveBeenCalledWith('/notifications');
  });
});
...