import { setRouteMap, getPath } from './route-map';
describe('test route map', () => {
const routes = [
{
path: '/base/overview',
key: 'overview',
},
{
path: '/compute',
key: 'compute',
children: [
{
path: '/compute/instance',
key: 'instance',
children: [
{
path: /^\/compute\/instance\/detail\/.[^/]+$/,
key: 'instanceDetail',
routePath: '/compute/instance/detail/:id',
},
],
},
],
},
];
it('setRouteMap', () => {
const routeMap = setRouteMap(routes);
expect(Object.keys(routeMap).length).toEqual(4);
});
it('getPath', () => {
const overviewPath = getPath({ key: 'overview' });
expect(overviewPath).toBe('/base/overview');
const detailPath = getPath({ key: 'instanceDetail', params: { id: 1 } });
expect(detailPath).toBe('/compute/instance/detail/1');
const queryPath = getPath({ key: 'instance', query: { status: 'stop' } });
expect(queryPath).toBe('/compute/instance?status=stop');
});
});