17 lines
878 B
JavaScript
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);
|
|
});
|
|
});
|