/** @jest-environment node */ import { deriveCompletedWorkReviewStatus, deriveWorkReviewDecision, } from '@/lib/work-review-policy' describe('work review policy', () => { test('marks one reviewer region as revision required when any image needs changes', () => { expect(deriveWorkReviewDecision([ { decision: 'approved' }, { decision: 'revision_required' }, ])).toBe('revision_required') }) test('does not complete the version until both independent reviewer regions exist', () => { expect(deriveCompletedWorkReviewStatus([ { reviewerRole: 'manager', decision: 'approved' }, ])).toBeNull() expect(deriveCompletedWorkReviewStatus([ { reviewerRole: 'final_reviewer', decision: 'approved' }, ])).toBeNull() }) test('requires both reviewer regions to approve the final version', () => { expect(deriveCompletedWorkReviewStatus([ { reviewerRole: 'manager', decision: 'approved' }, { reviewerRole: 'final_reviewer', decision: 'approved' }, ])).toBe('approved') expect(deriveCompletedWorkReviewStatus([ { reviewerRole: 'manager', decision: 'revision_required' }, { reviewerRole: 'final_reviewer', decision: 'approved' }, ])).toBe('revision_required') }) })