45 lines
1.9 KiB
TypeScript
45 lines
1.9 KiB
TypeScript
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');
|
|
});
|
|
});
|
|
});
|