view models

This commit is contained in:
2025-12-20 00:31:31 +01:00
parent 5c74837d73
commit 656ec62426
74 changed files with 4511 additions and 347 deletions

View File

@@ -0,0 +1,28 @@
import { describe, it, expect } 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}/);
});
});