refactor dtos to ports

This commit is contained in:
2025-12-19 15:07:53 +01:00
parent 499562c456
commit 8116fe888f
46 changed files with 718 additions and 266 deletions

View File

@@ -2,7 +2,6 @@ import { describe, it, expect, beforeEach, vi, Mock } from 'vitest';
import { GetTeamJoinRequestsUseCase } from './GetTeamJoinRequestsUseCase';
import { ITeamMembershipRepository } from '../../domain/repositories/ITeamMembershipRepository';
import { IDriverRepository } from '../../domain/repositories/IDriverRepository';
import { IImageServicePort } from '../ports/IImageServicePort';
import { Driver } from '../../domain/entities/Driver';
import type { Logger } from '@core/shared/application';
@@ -14,9 +13,7 @@ describe('GetTeamJoinRequestsUseCase', () => {
let driverRepository: {
findById: Mock;
};
let imageService: {
getDriverAvatar: Mock;
};
let getDriverAvatar: Mock;
let logger: {
debug: Mock;
info: Mock;
@@ -31,9 +28,7 @@ describe('GetTeamJoinRequestsUseCase', () => {
driverRepository = {
findById: vi.fn(),
};
imageService = {
getDriverAvatar: vi.fn(),
};
getDriverAvatar = vi.fn();
logger = {
debug: vi.fn(),
info: vi.fn(),
@@ -43,7 +38,7 @@ describe('GetTeamJoinRequestsUseCase', () => {
useCase = new GetTeamJoinRequestsUseCase(
membershipRepository as unknown as ITeamMembershipRepository,
driverRepository as unknown as IDriverRepository,
imageService as unknown as IImageServicePort,
getDriverAvatar,
logger as unknown as Logger,
);
});
@@ -73,7 +68,11 @@ describe('GetTeamJoinRequestsUseCase', () => {
if (id === 'driver-2') return Promise.resolve(driver2);
return Promise.resolve(null);
});
imageService.getDriverAvatar.mockImplementation((id: string) => `avatar-${id}`);
getDriverAvatar.mockImplementation((input) => {
if (input.driverId === 'driver-1') return Promise.resolve({ avatarUrl: 'avatar-driver-1' });
if (input.driverId === 'driver-2') return Promise.resolve({ avatarUrl: 'avatar-driver-2' });
return Promise.resolve({ avatarUrl: 'avatar-default' });
});
const result = await useCase.execute({ teamId });
@@ -99,7 +98,7 @@ describe('GetTeamJoinRequestsUseCase', () => {
membershipRepository.getJoinRequests.mockResolvedValue(joinRequests);
driverRepository.findById.mockResolvedValue(null);
imageService.getDriverAvatar.mockReturnValue('avatar-driver-1');
getDriverAvatar.mockResolvedValue({ avatarUrl: 'avatar-driver-1' });
const result = await useCase.execute({ teamId });