Files
gridpilot.gg/apps/website/lib/view-models/UpcomingRaceCardViewModel.test.ts
2026-01-24 01:25:46 +01:00

29 lines
818 B
TypeScript

import { describe, expect, it } from 'vitest';
import { UpcomingRaceCardViewModel } from './UpcomingRaceCardViewModel';
describe('UpcomingRaceCardViewModel', () => {
const baseDto = {
id: 'race-1',
track: 'Spa-Francorchamps',
car: 'GT3',
scheduledAt: '2025-01-01T20:00:00Z',
};
it('maps DTO fields', () => {
const viewModel = new UpcomingRaceCardViewModel(baseDto);
expect(viewModel.id).toBe('race-1');
expect(viewModel.track).toBe('Spa-Francorchamps');
expect(viewModel.car).toBe('GT3');
expect(viewModel.scheduledAt).toBe('2025-01-01T20:00:00Z');
});
it('formats date label with month and day', () => {
const viewModel = new UpcomingRaceCardViewModel(baseDto);
const formatted = viewModel.formattedDate;
expect(formatted).toMatch(/\d{1,2}/);
});
});