chore: import coordenador (subtree)
git-subtree-dir: coordenador git-subtree-mainline:facbe2e340git-subtree-split:ce7af94d55
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
const { test } = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const { buildFallbackClassification, AI_FALLBACK_CLASSIFICATION } = require('./fallback');
|
||||
const { VALID_CLASSIFICATIONS } = require('./classification');
|
||||
|
||||
test('fallback e sempre seguro e marcado como tal', () => {
|
||||
const result = buildFallbackClassification('ai_timeout');
|
||||
assert.equal(result.is_fallback, true);
|
||||
assert.equal(result.fallback_reason, 'ai_timeout');
|
||||
assert.equal(result.confidence, 0);
|
||||
assert.ok(result.reason.includes('Fallback'));
|
||||
});
|
||||
|
||||
test('fallback NUNCA finge ser ACTIONABLE_NOW -- usa AI_FALLBACK, um estado tecnico explicito', () => {
|
||||
const result = buildFallbackClassification('ai_error');
|
||||
assert.equal(result.classification, AI_FALLBACK_CLASSIFICATION);
|
||||
assert.notEqual(result.classification, 'ACTIONABLE_NOW');
|
||||
assert.equal(result.actionable_today, false);
|
||||
});
|
||||
|
||||
test('AI_FALLBACK nunca e uma classe que a propria IA pode retornar (fica fora do schema enviado a OpenAI)', () => {
|
||||
assert.ok(!VALID_CLASSIFICATIONS.includes(AI_FALLBACK_CLASSIFICATION));
|
||||
});
|
||||
|
||||
test('AI_MAX_CANDIDATES gera AI_FALLBACK, nao ACTIONABLE_NOW', () => {
|
||||
const result = buildFallbackClassification('ai_max_candidates_cap');
|
||||
assert.equal(result.classification, AI_FALLBACK_CLASSIFICATION);
|
||||
assert.equal(result.fallback_reason, 'ai_max_candidates_cap');
|
||||
});
|
||||
|
||||
test('erro de IA gera AI_FALLBACK', () => {
|
||||
assert.equal(buildFallbackClassification('ai_error').classification, AI_FALLBACK_CLASSIFICATION);
|
||||
});
|
||||
|
||||
test('IA desligada gera AI_FALLBACK', () => {
|
||||
assert.equal(buildFallbackClassification('ai_disabled').classification, AI_FALLBACK_CLASSIFICATION);
|
||||
});
|
||||
|
||||
test('JSON invalido gera AI_FALLBACK', () => {
|
||||
assert.equal(buildFallbackClassification('invalid_json').classification, AI_FALLBACK_CLASSIFICATION);
|
||||
});
|
||||
Reference in New Issue
Block a user