33 lines
1.1 KiB
JavaScript
33 lines
1.1 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, 30);
|
|
assert.equal(config.topN, 10);
|
|
assert.equal(config.aiConfidenceThreshold, 0.6);
|
|
assert.equal(config.shadowMode, true);
|
|
assert.equal(config.devMode, true);
|
|
});
|
|
|
|
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);
|
|
});
|