Files
admin-web/src/modules/outbound-dispatch/statusLabels.test.ts
T
2026-08-13 14:55:59 +08:00

32 lines
1.8 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { oceanBookingStatusLabel, outboundDispatchStatusLabel, pickTaskStatusLabel, timelineActionLabel, timelineModuleLabel, timelineStatusLabel, truckStatusLabel } from './statusLabels'
describe('outbound dispatch status labels', () => {
it('maps list statuses to business Chinese', () => {
expect(outboundDispatchStatusLabel('READY_FOR_DISPATCH')).toBe('待确认出仓')
expect(outboundDispatchStatusLabel('WAITING_FOR_LOADING')).toBe('等待装柜')
expect(oceanBookingStatusLabel('RELEASED')).toBe('已放舱')
expect(truckStatusLabel('PICKUP_IN_PROGRESS')).toBe('提柜中')
expect(pickTaskStatusLabel('PENDING')).toBe('待拣货')
expect(pickTaskStatusLabel('IN_PROGRESS')).toBe('拣货中')
expect(pickTaskStatusLabel('AWAITING_REVIEW')).toBe('待复核')
expect(pickTaskStatusLabel('COMPLETED')).toBe('已完成')
})
it('localizes timeline modules, actions and module-specific states', () => {
expect(timelineModuleLabel('OUTBOUND_DISPATCH')).toBe('国内出仓')
expect(timelineActionLabel('CONFIRM_DISPATCH')).toBe('确认出仓')
expect(timelineStatusLabel('OUTBOUND_DISPATCH', 'READY_FOR_DISPATCH')).toBe('待确认出仓')
expect(timelineStatusLabel('OCEAN_BOOKING', 'RELEASED')).toBe('已放舱')
expect(timelineStatusLabel('TRUCK_APPOINTMENT', 'COMPLETED')).toBe('已完成')
expect(timelineStatusLabel('INBOUND', 'WAIT_SPLIT')).toBe('待分柜')
})
it('does not expose unknown backend enum values', () => {
expect(outboundDispatchStatusLabel('NEW_BACKEND_STATE')).toBe('未知状态')
expect(timelineModuleLabel('NEW_MODULE')).toBe('其他业务流程')
expect(timelineActionLabel('NEW_ACTION')).toBe('状态更新')
expect(timelineStatusLabel('NEW_MODULE', 'NEW_STATE')).toBe('未知状态')
})
})