1234567891011121314151617181920212223242526272829303132333435 |
- import type {InjectedRouter} from 'react-router';
- import {stringify} from 'query-string';
- import {LocationFixture} from 'sentry-fixture/locationFixture';
- export function RouterFixture(params = {}): InjectedRouter {
- return {
- push: jest.fn(),
- replace: jest.fn(),
- go: jest.fn(),
- goBack: jest.fn(),
- goForward: jest.fn(),
- setRouteLeaveHook: jest.fn(),
- isActive: jest.fn(),
- createHref: jest.fn().mockImplementation(to => {
- if (typeof to === 'string') {
- return to;
- }
- if (typeof to === 'object') {
- if (!to.query) {
- return to.pathname;
- }
- return `${to.pathname}?${stringify(to.query)}`;
- }
- return '';
- }),
- location: LocationFixture(),
- createPath: jest.fn(),
- routes: [],
- params: {},
- ...params,
- };
- }
|