Files
crm-ai/bridge/test/quality.test.js
2026-10-23 10:35:28 +08:00

20 lines
806 B
JavaScript

'use strict';
const test = require('node:test');
const assert = require('node:assert/strict');
const { evaluateQuality } = require('../src/quality');
test('quality: low sample is skipped', () => {
assert.equal(evaluateQuality({ runs: 1, errors: 1 }).skipped, true);
});
test('quality: triggers error/latency/unverified thresholds', () => {
const r = evaluateQuality({ runs: 10, errors: 2, tool_error_runs: 2, unverified_url_runs: 3, avg_latency_ms: 9000 });
assert.deepEqual(r.alerts.map((a) => a.code).sort(), ['error_rate', 'latency', 'tool_error_rate', 'unverified_url_rate']);
});
test('quality: healthy metrics no alerts', () => {
const r = evaluateQuality({ runs: 10, errors: 0, tool_error_runs: 0, unverified_url_runs: 0, avg_latency_ms: 3000 });
assert.equal(r.alerts.length, 0);
});