28 lines
975 B
TypeScript
28 lines
975 B
TypeScript
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');
|
|
});
|
|
}); |