import { describe, expect, it } from 'vitest'; import { buildCustomWorldRoleOutlineBatchPrompt } from './customWorldPrompts'; const framework = { settingText: '潮雾封锁的边境港城,旧灯塔下藏着失踪船队的线索。', name: '潮雾港', subtitle: '旧灯塔仍在雾里亮着', summary: '玩家需要在港城各方势力间找到失踪船队真相。', tone: '潮湿、悬疑、克制', playerGoal: '找回失踪船队并决定港城秩序的走向。', templateWorldType: 'custom', compatibilityTemplateWorldType: 'custom', majorFactions: ['守灯人', '走私船帮'], coreConflicts: ['旧航道真相', '港城权力交接'], camp: { name: '旧灯塔营地', description: '潮雾里的临时归处。', dangerLevel: 'medium', }, playableNpcs: [], storyNpcs: [], landmarks: [], }; describe('buildCustomWorldRoleOutlineBatchPrompt', () => { it('requires model-generated visual descriptions for role drafts', () => { const prompt = buildCustomWorldRoleOutlineBatchPrompt({ framework, roleType: 'playable', batchCount: 2, }); expect(prompt).toContain('"visualDescription"'); expect(prompt).toContain('"actionDescription"'); expect(prompt).toContain('"sceneVisualDescription"'); expect(prompt).toContain('visualDescription 必须跟随本步骤直接生成'); expect(prompt).toContain('不能复制 description'); }); });