Files
gridpilot.gg/apps/website/lib/formatters/RaceStatusFormatter.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

71 lines
2.4 KiB
TypeScript

import { describe, it, expect } from 'vitest';
import { RaceStatusFormatter } from './RaceStatusFormatter';
describe('RaceStatusFormatter', () => {
describe('getLabel', () => {
it('should return "Scheduled" for scheduled status', () => {
expect(RaceStatusFormatter.getLabel('scheduled')).toBe('Scheduled');
});
it('should return "LIVE" for running status', () => {
expect(RaceStatusFormatter.getLabel('running')).toBe('LIVE');
});
it('should return "Completed" for completed status', () => {
expect(RaceStatusFormatter.getLabel('completed')).toBe('Completed');
});
it('should return "Cancelled" for cancelled status', () => {
expect(RaceStatusFormatter.getLabel('cancelled')).toBe('Cancelled');
});
it('should return uppercase status for unknown status', () => {
expect(RaceStatusFormatter.getLabel('unknown')).toBe('UNKNOWN');
});
});
describe('getVariant', () => {
it('should return "primary" for scheduled status', () => {
expect(RaceStatusFormatter.getVariant('scheduled')).toBe('primary');
});
it('should return "success" for running status', () => {
expect(RaceStatusFormatter.getVariant('running')).toBe('success');
});
it('should return "default" for completed status', () => {
expect(RaceStatusFormatter.getVariant('completed')).toBe('default');
});
it('should return "warning" for cancelled status', () => {
expect(RaceStatusFormatter.getVariant('cancelled')).toBe('warning');
});
it('should return "neutral" for unknown status', () => {
expect(RaceStatusFormatter.getVariant('unknown')).toBe('neutral');
});
});
describe('getIconName', () => {
it('should return "Clock" for scheduled status', () => {
expect(RaceStatusFormatter.getIconName('scheduled')).toBe('Clock');
});
it('should return "PlayCircle" for running status', () => {
expect(RaceStatusFormatter.getIconName('running')).toBe('PlayCircle');
});
it('should return "CheckCircle2" for completed status', () => {
expect(RaceStatusFormatter.getIconName('completed')).toBe('CheckCircle2');
});
it('should return "XCircle" for cancelled status', () => {
expect(RaceStatusFormatter.getIconName('cancelled')).toBe('XCircle');
});
it('should return "HelpCircle" for unknown status', () => {
expect(RaceStatusFormatter.getIconName('unknown')).toBe('HelpCircle');
});
});
});