41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
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');
|
|
});
|
|
});
|