git-subtree-dir: coordenador git-subtree-mainline:facbe2e340git-subtree-split:ce7af94d55
46 lines
1.7 KiB
JavaScript
46 lines
1.7 KiB
JavaScript
const { test } = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
const { parseConfig } = require('./config');
|
|
|
|
test('valores padrao quando env vazio', () => {
|
|
const config = parseConfig({});
|
|
assert.equal(config.aiEnabled, true);
|
|
assert.equal(config.aiProvider, 'openai');
|
|
assert.equal(config.candidatePoolSize, 60);
|
|
assert.equal(config.aiMaxCandidates, 60);
|
|
assert.equal(config.topN, 10);
|
|
assert.equal(config.aiConfidenceThreshold, 0.6);
|
|
assert.equal(config.shadowMode, true);
|
|
assert.equal(config.devMode, true);
|
|
assert.equal(config.environment, 'dev');
|
|
assert.equal(config.sendEnabled, false);
|
|
});
|
|
|
|
test('aiMaxCandidates default e igual a candidatePoolSize default -- nenhum candidato elegivel fica de fora por cap artificial (missao secao 13)', () => {
|
|
const config = parseConfig({});
|
|
assert.equal(config.aiMaxCandidates, config.candidatePoolSize);
|
|
});
|
|
|
|
test('SEND_ENABLED=true liga o envio real; ENVIRONMENT=production e respeitado', () => {
|
|
const config = parseConfig({ SEND_ENABLED: 'true', ENVIRONMENT: 'production' });
|
|
assert.equal(config.sendEnabled, true);
|
|
assert.equal(config.environment, 'production');
|
|
});
|
|
|
|
test('AI_ENABLED=false desliga a IA', () => {
|
|
const config = parseConfig({ AI_ENABLED: 'false' });
|
|
assert.equal(config.aiEnabled, false);
|
|
});
|
|
|
|
test('TOP_N nunca passa de 10 mesmo se configurado maior', () => {
|
|
const config = parseConfig({ TOP_N: '25' });
|
|
assert.equal(config.topN, 10);
|
|
});
|
|
|
|
test('overrides numericos sao respeitados', () => {
|
|
const config = parseConfig({ CANDIDATE_POOL_SIZE: '80', AI_MAX_CANDIDATES: '15', COOLDOWN_DAYS: '2' });
|
|
assert.equal(config.candidatePoolSize, 80);
|
|
assert.equal(config.aiMaxCandidates, 15);
|
|
assert.equal(config.cooldownDays, 2);
|
|
});
|