import { GetLeagueMembershipsPresenter } from './GetLeagueMembershipsPresenter'; import type { GetLeagueMembershipsOutputPort } from '@core/racing/application/ports/output/GetLeagueMembershipsOutputPort'; describe('GetLeagueMembershipsPresenter', () => { it('presents memberships correctly', () => { const presenter = new GetLeagueMembershipsPresenter(); const output: GetLeagueMembershipsOutputPort = { memberships: { members: [ { driverId: 'driver-1', driver: { id: 'driver-1', name: 'John Doe' }, role: 'member', joinedAt: new Date('2023-01-01'), }, ], }, }; presenter.present(output); const vm = presenter.getViewModel(); expect(vm).not.toBeNull(); expect(vm!.memberships.members).toHaveLength(1); expect(vm!.memberships.members[0].driverId).toBe('driver-1'); expect(vm!.memberships.members[0].driver.name).toBe('John Doe'); }); });