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,32 @@
import { describe, it, expect } from 'vitest';
import { ProtestDriverViewModel } from './ProtestDriverViewModel';
import type { DriverSummaryDTO } from '../types/generated/LeagueAdminProtestsDTO';
const createDriverSummary = (overrides: Partial<DriverSummaryDTO> = {}): DriverSummaryDTO => ({
id: 'driver-1',
name: 'Test Driver',
...overrides,
});
describe('ProtestDriverViewModel', () => {
it('maps id and name from DriverSummaryDTO', () => {
const dto = createDriverSummary({
id: 'driver-123',
name: 'Jane Doe',
});
const viewModel = new ProtestDriverViewModel(dto);
expect(viewModel.id).toBe('driver-123');
expect(viewModel.name).toBe('Jane Doe');
});
it('exposes underlying DTO fields as-is', () => {
const dto = createDriverSummary();
const viewModel = new ProtestDriverViewModel(dto);
expect(viewModel.id).toBe(dto.id);
expect(viewModel.name).toBe(dto.name);
});
});