import { describe, it, expect } from 'vitest'; import { ActivityLevelFormatter } from './ActivityLevelFormatter'; describe('ActivityLevelFormatter', () => { describe('levelLabel', () => { it('should return "Low" for engagement rate below 20', () => { expect(ActivityLevelFormatter.levelLabel(0)).toBe('Low'); expect(ActivityLevelFormatter.levelLabel(10)).toBe('Low'); expect(ActivityLevelFormatter.levelLabel(19.9)).toBe('Low'); }); it('should return "Medium" for engagement rate between 20 and 50', () => { expect(ActivityLevelFormatter.levelLabel(20)).toBe('Medium'); expect(ActivityLevelFormatter.levelLabel(35)).toBe('Medium'); expect(ActivityLevelFormatter.levelLabel(49.9)).toBe('Medium'); }); it('should return "High" for engagement rate 50 or above', () => { expect(ActivityLevelFormatter.levelLabel(50)).toBe('High'); expect(ActivityLevelFormatter.levelLabel(75)).toBe('High'); expect(ActivityLevelFormatter.levelLabel(100)).toBe('High'); }); }); describe('levelValue', () => { it('should return "low" for engagement rate below 20', () => { expect(ActivityLevelFormatter.levelValue(0)).toBe('low'); expect(ActivityLevelFormatter.levelValue(10)).toBe('low'); expect(ActivityLevelFormatter.levelValue(19.9)).toBe('low'); }); it('should return "medium" for engagement rate between 20 and 50', () => { expect(ActivityLevelFormatter.levelValue(20)).toBe('medium'); expect(ActivityLevelFormatter.levelValue(35)).toBe('medium'); expect(ActivityLevelFormatter.levelValue(49.9)).toBe('medium'); }); it('should return "high" for engagement rate 50 or above', () => { expect(ActivityLevelFormatter.levelValue(50)).toBe('high'); expect(ActivityLevelFormatter.levelValue(75)).toBe('high'); expect(ActivityLevelFormatter.levelValue(100)).toBe('high'); }); }); });