Files
brain/tools/verify-gate-config.test.mjs
T

22 lines
1.2 KiB
JavaScript

import { describe, it, expect } from 'vitest';
import { resolveVerifyEnabled, verifyGateActive } from './verify-gate-config.mjs';
describe('verify-gate-config (рубильник, зеркало судьи)', () => {
it('флаг не "1" → enabled false', () => {
expect(resolveVerifyEnabled({ env: {} })).toBe(false);
expect(resolveVerifyEnabled({ env: { ROUTER_MENTOR_VERIFY_ENABLED: '0' } })).toBe(false);
expect(resolveVerifyEnabled({ env: { ROUTER_MENTOR_VERIFY_ENABLED: '1' } })).toBe(true);
});
it('флаг OFF → {active:false, keyMissing:false} (inert $0)', () => {
expect(verifyGateActive({ env: {}, keyImpl: () => 'k' })).toEqual({ active: false, keyMissing: false });
});
it('флаг ON + ключ → {active:true, keyMissing:false}', () => {
expect(verifyGateActive({ env: { ROUTER_MENTOR_VERIFY_ENABLED: '1' }, keyImpl: () => 'k' }))
.toEqual({ active: true, keyMissing: false });
});
it('флаг ON + НЕТ ключа → {active:false, keyMissing:true} (consumer → fail-CLOSE)', () => {
expect(verifyGateActive({ env: { ROUTER_MENTOR_VERIFY_ENABLED: '1' }, keyImpl: () => null }))
.toEqual({ active: false, keyMissing: true });
});
});