Files
wehub-resource-sync c48612c494
CI / E2E Tests (push) Has been cancelled
CI / Lint, Typecheck & Unit Tests (push) Has been cancelled
Docs Build / Build docs site (push) Has been cancelled
Publish @openmaic packages / Build, validate & publish (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:03:23 +08:00

36 lines
1.2 KiB
TypeScript

import { describe, test, expect } from 'vitest';
import { loadPrompt, loadSnippet, buildPrompt } from '@/lib/prompts';
describe('lib/prompts loader', () => {
test('loads a known template + interpolates variables', () => {
const result = buildPrompt('slide-actions', {
title: 'Test Slide',
keyPoints: '1. point one',
description: 'desc',
elements: '[]',
courseContext: '',
agents: '',
userProfile: '',
languageDirective: 'en',
});
expect(result).not.toBeNull();
expect(result!.system.length).toBeGreaterThan(100);
expect(result!.user).toContain('Test Slide');
});
test('loads a snippet', () => {
const s = loadSnippet('json-output-rules');
expect(s).toContain('JSON');
});
test('returns null for unknown promptId', () => {
// @ts-expect-error — testing runtime behavior with invalid id
expect(loadPrompt('does-not-exist')).toBeNull();
});
test('throws on unknown snippetId instead of passing through literal', () => {
// @ts-expect-error — testing runtime behavior with invalid id
expect(() => loadSnippet('does-not-exist')).toThrow(/Snippet not found/);
});
});