Files
openmaic/OpenMAIC/tests/lib/agent/runtime/build-agent.test.ts
2026-08-16 14:58:47 +08:00

38 lines
1.3 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { buildSystemPrompt } from '@/lib/agent/runtime/build-agent';
describe('buildSystemPrompt capability boundary', () => {
const prompt = buildSystemPrompt({ id: 's1', title: 'Photosynthesis' }).toLowerCase();
it('grants reading and slide regeneration', () => {
expect(prompt).toContain('read_scene_content');
expect(prompt).toContain('regenerate_scene');
});
it('grants interactive-scene bug fixing', () => {
expect(prompt).toContain('edit_interactive_html');
expect(prompt).toContain('interactive');
});
it('grants per-element slide edits', () => {
expect(prompt).toContain('edit_elements');
expect(prompt).toContain('json patch');
expect(prompt).toContain('/elements/n/id');
expect(prompt).toContain('read_scene_content');
expect(prompt).toContain('test`, `add`, and `replace');
});
it('still forbids structural and non-slide edits', () => {
expect(prompt).toContain('cannot');
// Structural ops remain out of scope.
expect(prompt).toMatch(/add|delete|reorder|duplicate/);
expect(prompt).not.toContain('cannot rewrite slide text content');
});
it('embeds the active scene id/title', () => {
expect(prompt).toContain('s1');
expect(prompt).toContain('photosynthesis');
});
});