import { describe, it, expect } from 'vitest' import { formatIdeaCode } from '@/lib/idea-code' describe('formatIdeaCode', () => { it('pads to 3 digits', () => { expect(formatIdeaCode(1)).toBe('IDEA-001') expect(formatIdeaCode(42)).toBe('IDEA-042') expect(formatIdeaCode(999)).toBe('IDEA-999') }) it('does not truncate beyond pad-width', () => { expect(formatIdeaCode(1000)).toBe('IDEA-1000') expect(formatIdeaCode(99999)).toBe('IDEA-99999') }) }) // Integration-style concurrency-test op nextIdeaCode is in // __tests__/integration/ tests die de echte DB raken (zie M12 verificatie-stap). // Hier alleen de pure formatter; de increment-logica leunt op Prisma's // row-lock in $transaction die we per-database vertrouwen.