scrum4me-mcp/__tests__/update-job-status-gate.test.ts
2026-05-01 13:58:28 +02:00

39 lines
1.2 KiB
TypeScript

import { describe, it, expect } from 'vitest'
import { checkVerifyGate } from '../src/tools/update-job-status.js'
describe('checkVerifyGate', () => {
it('rejects when verify_result is null — agent must verify first', () => {
const r = checkVerifyGate(null, false)
expect(r.allowed).toBe(false)
if (!r.allowed) expect(r.error).toMatch(/verify_task_against_plan/i)
})
it('rejects when verify_result is EMPTY and task is not verify_only', () => {
const r = checkVerifyGate('EMPTY', false)
expect(r.allowed).toBe(false)
if (!r.allowed) {
expect(r.error).toMatch(/EMPTY/i)
expect(r.error).toMatch(/verify_only/i)
}
})
it('allows when verify_result is EMPTY and task IS verify_only', () => {
const r = checkVerifyGate('EMPTY', true)
expect(r.allowed).toBe(true)
})
it('allows when verify_result is ALIGNED', () => {
const r = checkVerifyGate('ALIGNED', false)
expect(r.allowed).toBe(true)
})
it('allows when verify_result is PARTIAL', () => {
const r = checkVerifyGate('PARTIAL', false)
expect(r.allowed).toBe(true)
})
it('allows when verify_result is DIVERGENT', () => {
const r = checkVerifyGate('DIVERGENT', false)
expect(r.allowed).toBe(true)
})
})