import { describe, expect, it } from 'vitest'; import { normalizeLiveStatus, resolveLiveShowApproveMode, resolveStatusTone } from './controlRoom'; describe('normalizeLiveStatus', () => { it('maps nullish statuses to none', () => { expect(normalizeLiveStatus(null)).toBe('none'); expect(normalizeLiveStatus(undefined)).toBe('none'); expect(normalizeLiveStatus('')).toBe('none'); }); it('passes through supported statuses', () => { expect(normalizeLiveStatus('pending')).toBe('pending'); expect(normalizeLiveStatus('approved')).toBe('approved'); expect(normalizeLiveStatus('rejected')).toBe('rejected'); }); }); describe('resolveLiveShowApproveMode', () => { it('prefers approve-and-live for pending gallery', () => { expect(resolveLiveShowApproveMode('pending')).toBe('approve-and-live'); }); it('returns approve-only for approved gallery', () => { expect(resolveLiveShowApproveMode('approved')).toBe('approve-only'); }); it('returns not-eligible for rejected or hidden gallery', () => { expect(resolveLiveShowApproveMode('rejected')).toBe('not-eligible'); expect(resolveLiveShowApproveMode('hidden')).toBe('not-eligible'); }); }); describe('resolveStatusTone', () => { it('maps approved to success', () => { expect(resolveStatusTone('approved')).toBe('success'); }); it('maps pending to warning', () => { expect(resolveStatusTone('pending')).toBe('warning'); }); it('maps other statuses to muted', () => { expect(resolveStatusTone('rejected')).toBe('muted'); expect(resolveStatusTone('hidden')).toBe('muted'); expect(resolveStatusTone(undefined)).toBe('muted'); }); });