51 lines
2.0 KiB
TypeScript
51 lines
2.0 KiB
TypeScript
import { describe, it, expect } from 'vitest';
|
|
import { SkillLevelService } from './SkillLevelService';
|
|
|
|
describe('SkillLevelService', () => {
|
|
describe('getSkillLevel', () => {
|
|
it('should return pro for rating >= 3000', () => {
|
|
expect(SkillLevelService.getSkillLevel(3000)).toBe('pro');
|
|
expect(SkillLevelService.getSkillLevel(5000)).toBe('pro');
|
|
});
|
|
|
|
it('should return advanced for rating >= 2500 and < 3000', () => {
|
|
expect(SkillLevelService.getSkillLevel(2500)).toBe('advanced');
|
|
expect(SkillLevelService.getSkillLevel(2999)).toBe('advanced');
|
|
});
|
|
|
|
it('should return intermediate for rating >= 1800 and < 2500', () => {
|
|
expect(SkillLevelService.getSkillLevel(1800)).toBe('intermediate');
|
|
expect(SkillLevelService.getSkillLevel(2499)).toBe('intermediate');
|
|
});
|
|
|
|
it('should return beginner for rating < 1800', () => {
|
|
expect(SkillLevelService.getSkillLevel(1799)).toBe('beginner');
|
|
expect(SkillLevelService.getSkillLevel(500)).toBe('beginner');
|
|
});
|
|
});
|
|
|
|
describe('getTeamPerformanceLevel', () => {
|
|
it('should return beginner for null rating', () => {
|
|
expect(SkillLevelService.getTeamPerformanceLevel(null)).toBe('beginner');
|
|
});
|
|
|
|
it('should return pro for rating >= 4500', () => {
|
|
expect(SkillLevelService.getTeamPerformanceLevel(4500)).toBe('pro');
|
|
});
|
|
|
|
it('should return advanced for rating >= 3000 and < 4500', () => {
|
|
expect(SkillLevelService.getTeamPerformanceLevel(3000)).toBe('advanced');
|
|
expect(SkillLevelService.getTeamPerformanceLevel(4499)).toBe('advanced');
|
|
});
|
|
|
|
it('should return intermediate for rating >= 2000 and < 3000', () => {
|
|
expect(SkillLevelService.getTeamPerformanceLevel(2000)).toBe('intermediate');
|
|
expect(SkillLevelService.getTeamPerformanceLevel(2999)).toBe('intermediate');
|
|
});
|
|
|
|
it('should return beginner for rating < 2000', () => {
|
|
expect(SkillLevelService.getTeamPerformanceLevel(1999)).toBe('beginner');
|
|
});
|
|
});
|
|
});
|