Archived
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TM4kUBvekALu9qqmp7D3wr
18 lines
762 B
TypeScript
18 lines
762 B
TypeScript
/** 分发状态机:dispatching 不能被重投;回调回 skipped 就是 skipped */
|
|
import { describe, expect, it } from 'vitest';
|
|
import { canRedeliver, stateOfOutcome } from '../internal/domain/delivery.ts';
|
|
|
|
describe('delivery', () => {
|
|
it('从没投过 / done / failed / skipped 都能重投;正在投的不能', () => {
|
|
expect(canRedeliver(undefined)).toBe(true);
|
|
expect(canRedeliver('done')).toBe(true);
|
|
expect(canRedeliver('failed')).toBe(true);
|
|
expect(canRedeliver('skipped')).toBe(true);
|
|
expect(canRedeliver('dispatching')).toBe(false);
|
|
});
|
|
it('回调的返回值定状态', () => {
|
|
expect(stateOfOutcome(undefined)).toBe('done');
|
|
expect(stateOfOutcome({ skipped: '账号未绑定通道' })).toBe('skipped');
|
|
});
|
|
});
|