view models
This commit is contained in:
@@ -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}/);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user