项目文件夹

文件
wehub-resource-sync 98e40dac97
CLI Smoke Test / smoke-test-linux (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-linux (24) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (24) (push) Has been cancelled
Expo App TypeScript typecheck / typecheck (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:40:49 +08:00

53 行
1.7 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { getSessionForkSource } from './sessionFork';
describe('getSessionForkSource', () => {
it('returns a Claude fork source when the session has a Claude session id', () => {
expect(getSessionForkSource({
id: 'happy-claude',
metadata: {
flavor: 'claude',
machineId: 'machine-1',
path: '/tmp/project',
claudeSessionId: '93a9705e-bc6a-406d-8dce-8acc014dedbd',
},
} as any)).toEqual({
kind: 'claude',
sessionId: 'happy-claude',
machineId: 'machine-1',
directory: '/tmp/project',
claudeSessionId: '93a9705e-bc6a-406d-8dce-8acc014dedbd',
});
});
it('returns a Codex fork source when the session has a Codex thread id', () => {
expect(getSessionForkSource({
id: 'happy-codex',
metadata: {
flavor: 'codex',
machineId: 'machine-1',
path: '/tmp/project',
codexThreadId: '019ccca5-726b-7c61-b914-16de27dfab6e',
},
} as any)).toEqual({
kind: 'codex',
sessionId: 'happy-codex',
machineId: 'machine-1',
directory: '/tmp/project',
codexThreadId: '019ccca5-726b-7c61-b914-16de27dfab6e',
});
});
it('returns null when required fork metadata is missing', () => {
expect(getSessionForkSource({
id: 'missing',
metadata: {
flavor: 'codex',
machineId: 'machine-1',
path: '/tmp/project',
},
} as any)).toBeNull();
});
});