|
|
@@ -26,11 +26,21 @@ describe('排课状态视觉分类', () => {
|
|
|
expect(scheduleStatusLabel(item, now)).toBe('逾期未上课');
|
|
|
});
|
|
|
|
|
|
- it('区分待开始、上课中、已完成、已归档和已取消', () => {
|
|
|
+ it('已经超过结束时间的上课中记录不再显示为正在上课', () => {
|
|
|
+ const item = { cancelled: false, statusCode: 10, statusLabel: '上课中', endsAt: '2026-08-20T01:00:00.000Z' };
|
|
|
+ expect(scheduleStatusTone(item, now)).toBe('status-overdue-incomplete');
|
|
|
+ expect(scheduleStatusLabel(item, now)).toBe('逾期未完课');
|
|
|
+ });
|
|
|
+
|
|
|
+ it('按原系统状态链区分陪练结束、学员确认和最终完课', () => {
|
|
|
expect(scheduleStatusTone({ cancelled: false, statusCode: 0, endsAt: '2026-08-21T01:00:00.000Z' }, now)).toBe('status-upcoming');
|
|
|
- expect(scheduleStatusTone({ cancelled: false, statusCode: 10, endsAt: '' }, now)).toBe('status-live');
|
|
|
- expect(scheduleStatusTone({ cancelled: false, statusCode: 11, endsAt: '' }, now)).toBe('status-completed');
|
|
|
- expect(scheduleStatusTone({ cancelled: false, statusCode: 30, endsAt: '' }, now)).toBe('status-archived');
|
|
|
+ expect(scheduleStatusTone({ cancelled: false, statusCode: 10, endsAt: '2026-08-20T03:00:00.000Z' }, now)).toBe('status-live');
|
|
|
+ expect(scheduleStatusTone({ cancelled: false, statusCode: 11, endsAt: '' }, now)).toBe('status-coach-ended');
|
|
|
+ expect(scheduleStatusLabel({ cancelled: false, statusCode: 11, statusLabel: '已完成', endsAt: '' }, now)).toBe('陪练已结束');
|
|
|
+ expect(scheduleStatusTone({ cancelled: false, statusCode: 20, endsAt: '' }, now)).toBe('status-confirmed');
|
|
|
+ expect(scheduleStatusLabel({ cancelled: false, statusCode: 20, statusLabel: '已确认', endsAt: '' }, now)).toBe('学员已确认');
|
|
|
+ expect(scheduleStatusTone({ cancelled: false, statusCode: 30, endsAt: '' }, now)).toBe('status-completed');
|
|
|
+ expect(scheduleStatusLabel({ cancelled: false, statusCode: 30, statusLabel: '已归档', endsAt: '' }, now)).toBe('已完课');
|
|
|
expect(scheduleStatusTone({ cancelled: true, statusCode: 0, endsAt: '' }, now)).toBe('status-cancelled');
|
|
|
});
|
|
|
});
|