iron-rules.test.ts 869 B

123456789101112131415161718192021222324252627
  1. import { describe, it, expect } from 'vitest';
  2. import { buildIronRulesPrompt } from '@/app/lib/chapter-prompts';
  3. describe('buildIronRulesPrompt', () => {
  4. it('includes all project info in the prompt', () => {
  5. const prompt = buildIronRulesPrompt({
  6. novelType: 'xianxia',
  7. worldDescription: '修仙世界',
  8. protagonistDescription: '少年剑客',
  9. plotDirection: '复仇与成长',
  10. });
  11. expect(prompt).toContain('xianxia');
  12. expect(prompt).toContain('修仙世界');
  13. expect(prompt).toContain('少年剑客');
  14. expect(prompt).toContain('复仇与成长');
  15. });
  16. it('handles empty fields gracefully', () => {
  17. const prompt = buildIronRulesPrompt({
  18. novelType: 'custom',
  19. worldDescription: '',
  20. protagonistDescription: '',
  21. plotDirection: '',
  22. });
  23. expect(prompt).toContain('未提供');
  24. });
  25. });