import {transformToHistoryState} from './transformToHistoryState'; import { Route } from '../router.interface'; const routes: Route = { '/': { path: '/', url: '/', title: '桌面', moduleId: '', moduleName: '', menu: '', isMatch: false, children: {} }, '/moduleList': { path: '/moduleList', url: '/moduleList', title: '云中台', moduleId: '', moduleName: '', menu: '', isMatch: false, children: {} }, '/:moduleName/:moduleId/:menu?': { path: '/:moduleName/:moduleId/:menu?', url: '/:moduleName/:moduleId/:menu?', title: '遥望云', moduleId: 'DM27005074D931174416476959029971', moduleName: 'goodsBasicInfo', menu: '', isMatch: false, default: '/goodsManage/categoryManage', children: { '/goodsManage/categoryManage': { path: '/goodsManage/categoryManage', url: '/goodsBasicInfo/DM27005074D931174416476959029971', title: '类目管理', moduleId: 'DM27005074D931174416476959029971', moduleName: 'goodsBasicInfo', menu: 'goodsManagecategoryManage', isMatch: false, isDefault: true, children: {} } } } } const routes1: Route = { '/': { path: '/', url: '/', title: '桌面', moduleId: '', moduleName: '', menu: '', isMatch: false, children: {} }, '/moduleList': { path: '/moduleList', url: '/moduleList', title: '云中台', moduleId: '', moduleName: '', menu: '', isMatch: false, children: {} }, '/:moduleName/:moduleId/:menu?': { path: '/:moduleName/:moduleId/:menu?', url: '/:moduleName/:moduleId/:menu?', title: '遥望云', moduleId: 'DM27005074D931174416476959029971', moduleName: 'goodsBasicInfo', menu: '', isMatch: false, children: { } } } describe('路由注册表有4个, ', () => { it('点击云中台', () => { expect( transformToHistoryState('/moduleList',routes) ).toEqual({ title: "云中台", url: '/moduleList', path: '/moduleList', }); }); it('点击 /goodsBasicInfo/DM27005074D931174416476959029971', () => { expect( transformToHistoryState('/goodsBasicInfo/DM27005074D931174416476959029971',routes) ).toEqual({ params: { moduleId: 'DM27005074D931174416476959029971', moduleName: 'goodsBasicInfo', menu: 'goodsManagecategoryManage' }, title: '类目管理', parentPath: '/:moduleName/:moduleId/:menu?', path: '/goodsManage/categoryManage', url: '/goodsBasicInfo/DM27005074D931174416476959029971', }); }); it('点击 /goodsBasicInfo/DM27005074D931174416476959029971,但是云模块没有子路由', () => { expect( transformToHistoryState('/goodsBasicInfo/DM27005074D931174416476959029971',routes1) ).toEqual({ params: { moduleId: 'DM27005074D931174416476959029971', moduleName: 'goodsBasicInfo', menu: '' }, title: '遥望云', path: '/:moduleName/:moduleId/:menu?', url: '/goodsBasicInfo/DM27005074D931174416476959029971', }); }); });