export.test.ts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import { describe, it, expect } from 'vitest';
  2. import * as AllinEnums from '../../src/index.js';
  3. describe('枚举常量包导出验证', () => {
  4. it('应该正确导出所有枚举类型', () => {
  5. // 验证主要枚举类型
  6. expect(AllinEnums.DisabilityType).toBeDefined();
  7. expect(AllinEnums.DisabilityLevel).toBeDefined();
  8. expect(AllinEnums.OrderStatus).toBeDefined();
  9. expect(AllinEnums.WorkStatus).toBeDefined();
  10. // 验证标签映射
  11. expect(AllinEnums.DisabilityTypeLabels).toBeDefined();
  12. expect(AllinEnums.DisabilityLevelLabels).toBeDefined();
  13. expect(AllinEnums.OrderStatusLabels).toBeDefined();
  14. expect(AllinEnums.WorkStatusLabels).toBeDefined();
  15. // 验证描述映射
  16. expect(AllinEnums.OrderStatusDescriptions).toBeDefined();
  17. expect(AllinEnums.WorkStatusDescriptions).toBeDefined();
  18. // 验证工具函数
  19. expect(AllinEnums.getDisabilityTypeLabel).toBeDefined();
  20. expect(AllinEnums.getDisabilityLevelLabel).toBeDefined();
  21. expect(AllinEnums.getOrderStatusLabel).toBeDefined();
  22. expect(AllinEnums.getOrderStatusDescription).toBeDefined();
  23. expect(AllinEnums.getWorkStatusLabel).toBeDefined();
  24. expect(AllinEnums.getWorkStatusDescription).toBeDefined();
  25. // 验证值数组
  26. expect(AllinEnums.DISABILITY_TYPES).toBeDefined();
  27. expect(AllinEnums.DISABILITY_LEVELS).toBeDefined();
  28. expect(AllinEnums.ORDER_STATUSES).toBeDefined();
  29. expect(AllinEnums.WORK_STATUSES).toBeDefined();
  30. });
  31. it('应该能够正确导入和使用枚举值', () => {
  32. // 测试残疾类型枚举
  33. expect(AllinEnums.DisabilityType.VISION).toBe('vision');
  34. expect(AllinEnums.DisabilityTypeLabels[AllinEnums.DisabilityType.VISION]).toBe('视力残疾');
  35. expect(AllinEnums.getDisabilityTypeLabel(AllinEnums.DisabilityType.VISION)).toBe('视力残疾');
  36. // 测试残疾等级枚举
  37. expect(AllinEnums.DisabilityLevel.ONE).toBe(1);
  38. expect(AllinEnums.DisabilityLevelLabels[AllinEnums.DisabilityLevel.ONE]).toBe('一级');
  39. expect(AllinEnums.getDisabilityLevelLabel(AllinEnums.DisabilityLevel.ONE)).toBe('一级');
  40. // 测试订单状态枚举
  41. expect(AllinEnums.OrderStatus.DRAFT).toBe('draft');
  42. expect(AllinEnums.OrderStatusLabels[AllinEnums.OrderStatus.DRAFT]).toBe('草稿');
  43. expect(AllinEnums.getOrderStatusLabel(AllinEnums.OrderStatus.DRAFT)).toBe('草稿');
  44. expect(AllinEnums.getOrderStatusDescription(AllinEnums.OrderStatus.DRAFT)).toBe('订单已创建但未提交,可继续编辑');
  45. // 测试工作状态枚举
  46. expect(AllinEnums.WorkStatus.NOT_WORKING).toBe('not_working');
  47. expect(AllinEnums.WorkStatusLabels[AllinEnums.WorkStatus.NOT_WORKING]).toBe('未就业');
  48. expect(AllinEnums.getWorkStatusLabel(AllinEnums.WorkStatus.NOT_WORKING)).toBe('未就业');
  49. expect(AllinEnums.getWorkStatusDescription(AllinEnums.WorkStatus.NOT_WORKING)).toBe('尚未开始工作,正在寻找就业机会');
  50. });
  51. it('应该包含所有预期的导出项', () => {
  52. const expectedExports = [
  53. // 残疾类型
  54. 'DisabilityType',
  55. 'DisabilityTypeLabels',
  56. 'getDisabilityTypeLabel',
  57. 'DISABILITY_TYPES',
  58. // 残疾等级
  59. 'DisabilityLevel',
  60. 'DisabilityLevelLabels',
  61. 'getDisabilityLevelLabel',
  62. 'DISABILITY_LEVELS',
  63. // 订单状态
  64. 'OrderStatus',
  65. 'OrderStatusLabels',
  66. 'OrderStatusDescriptions',
  67. 'getOrderStatusLabel',
  68. 'getOrderStatusDescription',
  69. 'ORDER_STATUSES',
  70. // 工作状态
  71. 'WorkStatus',
  72. 'WorkStatusLabels',
  73. 'WorkStatusDescriptions',
  74. 'getWorkStatusLabel',
  75. 'getWorkStatusDescription',
  76. 'WORK_STATUSES'
  77. ];
  78. expectedExports.forEach(exportName => {
  79. expect(AllinEnums).toHaveProperty(exportName);
  80. });
  81. });
  82. });