Files
gridpilot.gg/apps/website/lib/formatters/ActivityLevelFormatter.test.ts
Marc Mintel 3db2209d2a
Some checks failed
CI / lint-typecheck (push) Failing after 4m52s
CI / tests (push) Has been skipped
CI / contract-tests (push) Has been skipped
CI / e2e-tests (push) Has been skipped
CI / comment-pr (push) Has been skipped
CI / commit-types (push) Has been skipped
formatter tests
2026-01-25 11:17:47 +01:00

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');
});
});
});