import { describe, expect, it } from 'vitest' import { capacityToneFromRemaining, isOccupancyFull, remainingSeatCount } from '@/features/events/eventCapacity' describe('event occupancy', () => { it('treats pending bookings as occupied when computing remaining seats', () => { expect(remainingSeatCount(10, 7, 0)).toBe(3) expect(remainingSeatCount(10, 7, 3)).toBe(0) expect(isOccupancyFull(10, 7, 4)).toBe(true) }) it('maps remaining capacity ratio to badge tone', () => { expect(capacityToneFromRemaining(60, 100)).toBe('neutral') expect(capacityToneFromRemaining(50, 100)).toBe('neutral') expect(capacityToneFromRemaining(49, 100)).toBe('warning') expect(capacityToneFromRemaining(20, 100)).toBe('warning') expect(capacityToneFromRemaining(19, 100)).toBe('danger') expect(capacityToneFromRemaining(0, 100)).toBe('danger') expect(capacityToneFromRemaining(1, 0)).toBe('danger') }) })