yongren-routes.test.ts 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // 在导入 app.config.ts 之前定义全局 defineAppConfig 函数
  2. global.defineAppConfig = (config: any) => config
  3. // 现在导入实际的配置文件
  4. import appConfig from '../src/app.config'
  5. describe('用人方小程序路由配置(实际测试配置文件)', () => {
  6. test('应包含7个用人方小程序页面', () => {
  7. const yongrenPages = appConfig.pages.filter((page: string) => page.includes('yongren'))
  8. expect(yongrenPages).toHaveLength(7)
  9. })
  10. test('用人方页面应位于页面列表开头', () => {
  11. // 检查前7个页面都是用人方页面
  12. const firstSevenPages = appConfig.pages.slice(0, 7)
  13. const allAreYongren = firstSevenPages.every(page => page.includes('yongren'))
  14. expect(allAreYongren).toBe(true)
  15. })
  16. test('应包含正确的页面路径', () => {
  17. const expectedPages = [
  18. 'pages/yongren/dashboard/index',
  19. 'pages/yongren/talent/list/index',
  20. 'pages/yongren/talent/detail/index',
  21. 'pages/yongren/order/list/index',
  22. 'pages/yongren/order/detail/index',
  23. 'pages/yongren/statistics/index',
  24. 'pages/yongren/settings/index',
  25. ]
  26. expectedPages.forEach(page => {
  27. expect(appConfig.pages).toContain(page)
  28. })
  29. })
  30. test('现有页面不应被移除', () => {
  31. const existingPages = [
  32. 'pages/profile/index',
  33. 'pages/login/index',
  34. ]
  35. existingPages.forEach(page => {
  36. expect(appConfig.pages).toContain(page)
  37. })
  38. })
  39. test('tabBar配置应正确设置', () => {
  40. expect(appConfig.tabBar.custom).toBe(true)
  41. expect(appConfig.tabBar.color).toBe('#6b7280')
  42. expect(appConfig.tabBar.selectedColor).toBe('#3b82f6')
  43. expect(appConfig.tabBar.backgroundColor).toBe('#ffffff')
  44. expect(appConfig.tabBar.list).toHaveLength(5)
  45. // 检查tabBar项目
  46. const tabBarItems = appConfig.tabBar.list
  47. expect(tabBarItems[0].pagePath).toBe('pages/yongren/dashboard/index')
  48. expect(tabBarItems[0].text).toBe('首页')
  49. expect(tabBarItems[1].pagePath).toBe('pages/yongren/talent/list/index')
  50. expect(tabBarItems[1].text).toBe('人才')
  51. expect(tabBarItems[2].pagePath).toBe('pages/yongren/order/list/index')
  52. expect(tabBarItems[2].text).toBe('订单')
  53. expect(tabBarItems[3].pagePath).toBe('pages/yongren/statistics/index')
  54. expect(tabBarItems[3].text).toBe('数据')
  55. expect(tabBarItems[4].pagePath).toBe('pages/profile/index')
  56. expect(tabBarItems[4].text).toBe('设置')
  57. })
  58. test('window配置应正确设置', () => {
  59. expect(appConfig.window.navigationBarBackgroundColor).toBe('#3b82f6')
  60. expect(appConfig.window.navigationBarTitleText).toBe('用人方小程序')
  61. expect(appConfig.window.backgroundTextStyle).toBe('light')
  62. expect(appConfig.window.navigationBarTextStyle).toBe('white')
  63. expect(appConfig.window.navigationStyle).toBe('custom')
  64. })
  65. test('第一个页面应为仪表板页面', () => {
  66. expect(appConfig.pages[0]).toBe('pages/yongren/dashboard/index')
  67. })
  68. test('tabBar页面应正确对应实际页面', () => {
  69. const tabBarPaths = appConfig.tabBar.list.map(item => item.pagePath)
  70. // 所有tabBar路径都应在pages列表中
  71. tabBarPaths.forEach(path => {
  72. expect(appConfig.pages).toContain(path)
  73. })
  74. })
  75. })