scrum4me-mcp/__tests__/update-job-status-next-action.test.ts
Janpeter Visser f87b20744b
feat: worker presence layer + batch-loop docs (#7)
* feat: add next_action field to update_job_status response

* docs: add Batch-loop section to README

* feat: presence layer — registerWorker, startHeartbeat, registerShutdownHandlers

* feat: bootstrap worker presence at server startup, remove inline presence from wait-for-job

* docs: document worker presence layer in CLAUDE.md

* docs: refine Batch-loop intro — add 'Hier is de flow:' per implementation plan
2026-05-01 16:39:26 +02:00

25 lines
923 B
TypeScript

import { describe, it, expect } from 'vitest'
import { resolveNextAction } from '../src/tools/update-job-status.js'
describe('resolveNextAction', () => {
it('returns wait_for_job_again when queue has jobs after done', () => {
expect(resolveNextAction(3, 'done')).toBe('wait_for_job_again')
})
it('returns queue_empty when queue is empty after done', () => {
expect(resolveNextAction(0, 'done')).toBe('queue_empty')
})
it('returns wait_for_job_again when queue has jobs after failed', () => {
expect(resolveNextAction(1, 'failed')).toBe('wait_for_job_again')
})
it('returns queue_empty when queue is empty after failed', () => {
expect(resolveNextAction(0, 'failed')).toBe('queue_empty')
})
it('returns idle for running status regardless of queue count', () => {
expect(resolveNextAction(5, 'running')).toBe('idle')
expect(resolveNextAction(0, 'running')).toBe('idle')
})
})