Files
portal/tools/enforce-judge-gate.test.mjs
T

17 lines
878 B
JavaScript

// tools/enforce-judge-gate.test.mjs
import { describe, it, expect } from 'vitest';
import { decide } from './enforce-judge-gate.mjs';
describe('enforce-judge-gate.decide (обёртка судьи; инертна до включения владельцем)', () => {
it('судья выключен → пропуск ($0, ничего не блокирует)', () => {
const r = decide({ event: { tool_name: 'Write' }, active: false });
expect(r.block).toBe(false);
expect(r.reason).toMatch(/disabled|выключ|\$0/i);
});
it('судья включён → тихий режим D28 (пропуск + пометка, живой блок — шаг владельца)', () => {
const r = decide({ event: { tool_name: 'Write' }, active: true });
expect(r.block).toBe(false);
expect(r.reason).toMatch(/shadow|тих|D28|wiring/i);
});
});