动态菜单和动态路由的 antd pro

index.test.js 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { getBreadcrumb } from './index';
  2. import { urlToList } from '../_utils/pathTools';
  3. const routerData = {
  4. '/dashboard/analysis': {
  5. name: '分析页',
  6. },
  7. '/userinfo': {
  8. name: '用户列表',
  9. },
  10. '/userinfo/:id': {
  11. name: '用户信息',
  12. },
  13. '/userinfo/:id/addr': {
  14. name: '收货订单',
  15. },
  16. };
  17. describe('test getBreadcrumb', () => {
  18. it('Simple url', () => {
  19. expect(getBreadcrumb(routerData, '/dashboard/analysis').name).toEqual('分析页');
  20. });
  21. it('Parameters url', () => {
  22. expect(getBreadcrumb(routerData, '/userinfo/2144').name).toEqual('用户信息');
  23. });
  24. it('The middle parameter url', () => {
  25. expect(getBreadcrumb(routerData, '/userinfo/2144/addr').name).toEqual('收货订单');
  26. });
  27. it('Loop through the parameters', () => {
  28. const urlNameList = urlToList('/userinfo/2144/addr').map(url => {
  29. return getBreadcrumb(routerData, url).name;
  30. });
  31. expect(urlNameList).toEqual(['用户列表', '用户信息', '收货订单']);
  32. });
  33. it('a path', () => {
  34. const urlNameList = urlToList('/userinfo').map(url => {
  35. return getBreadcrumb(routerData, url).name;
  36. });
  37. expect(urlNameList).toEqual(['用户列表']);
  38. });
  39. it('Secondary path', () => {
  40. const urlNameList = urlToList('/userinfo/2144').map(url => {
  41. return getBreadcrumb(routerData, url).name;
  42. });
  43. expect(urlNameList).toEqual(['用户列表', '用户信息']);
  44. });
  45. });