返回 oh-my-ppt
stage-manager.test.ts
根目录 / tests / unit / thinking / stage-manager.test.ts
1 import { describe, expect, it } from 'vitest'
2 import {
3 detectStageFallback,
4 resolveRequestedStage
5 } from '../../../src/main/thinking/stage-manager'
6
7 const COMPLETE_THINKING_MD = `# Thinking Brief
8
9 ## Topic
10 2026 AI模型的进化
11
12 ## Page 1: 封面
13 - Role: cover
14 - Objective: 建立主题
15
16 介绍主题和分享背景。
17
18 - 主题定位
19 - 受众价值
20
21 ## Page 2: 技术演进
22 - Role: content
23 - Objective: 说明关键趋势
24
25 梳理核心技术变化和工程影响。
26
27 - 架构趋势
28 - 部署趋势
29 `
30
31 describe('thinking stage manager', () => {
32 it('treats Chinese detail-improvement requests as draft expansion intent', () => {
33 expect(detectStageFallback('完善一下细节吧')).toBe('draft')
34 expect(detectStageFallback('再补充一些细节')).toBe('draft')
35 expect(detectStageFallback('把内容丰富一下')).toBe('draft')
36 })
37
38 it('allows outline to move to draft when a complete page plan exists', () => {
39 expect(
40 resolveRequestedStage({
41 currentStage: 'outline',
42 requestedStage: 'draft',
43 thinkingMd: COMPLETE_THINKING_MD
44 })
45 ).toBe('draft')
46 })
47 })
48
48 lines TYPESCRIPT