This commit is contained in:
29
packages/agent/tests/quality-controller.test.ts
Normal file
29
packages/agent/tests/quality-controller.test.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { checkResponseQuality } from '../src/quality-controller.js';
|
||||
|
||||
describe('Quality Controller', () => {
|
||||
it('passes concise responses', () => {
|
||||
expect(checkResponseQuality('The answer is 42.')).toHaveLength(0);
|
||||
});
|
||||
|
||||
it('flags overly verbose responses', () => {
|
||||
const verbose = Array(20).fill('This is a long sentence with lots of filler.').join('\n');
|
||||
const issues = checkResponseQuality(verbose);
|
||||
expect(issues.some(i => i.type === 'verbose')).toBe(true);
|
||||
});
|
||||
|
||||
it('flags emoji spam', () => {
|
||||
const issues = checkResponseQuality('Great! \u{1F389}\u{1F680}\u{2728}\u{1F31F}\u{1F4A1}');
|
||||
expect(issues.some(i => i.type === 'emoji_spam')).toBe(true);
|
||||
});
|
||||
|
||||
it('flags generic filler phrases', () => {
|
||||
const issues = checkResponseQuality("That's a great question! I'd be happy to help.");
|
||||
expect(issues.some(i => i.type === 'filler')).toBe(true);
|
||||
});
|
||||
|
||||
it('flags bullet point overuse', () => {
|
||||
const bullets = Array(8).fill('- Point here').join('\n');
|
||||
expect(checkResponseQuality(bullets).some(i => i.type === 'too_many_bullets')).toBe(true);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user