import { describe, it, expect } from 'vitest'; import { classifyJudgeOutcome } from './enforce-judge-gate.mjs'; describe('classifyJudgeOutcome', () => { it('GO', () => expect(classifyJudgeOutcome({ block: false }, { wired: true, decision: 'GO' })).toEqual({ kind: 'go' })); it('degraded no_key', () => expect(classifyJudgeOutcome({ block: true, degraded: true }, { unavailable: true, cause: 'no_key' })).toEqual({ kind: 'degraded', reason: 'нет ключа судьи' })); it('skip', () => expect(classifyJudgeOutcome({ block: false }, { skip: 'no_mentor_go' })).toEqual({ kind: 'skip', reason: 'no_mentor_go' })); it('nogo + текст', () => expect(classifyJudgeOutcome({ block: true, message: '🚫 X' }, { wired: true, decision: 'NO-GO' })).toEqual({ kind: 'nogo', text: '🚫 X' })); });