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

@@ -3,7 +3,6 @@ import { GetDriversLeaderboardUseCase } from './GetDriversLeaderboardUseCase';
import type { IDriverRepository } from '../../domain/repositories/IDriverRepository';
import type { IRankingService } from '../../domain/services/IRankingService';
import type { IDriverStatsService } from '../../domain/services/IDriverStatsService';
import type { IImageServicePort } from '../ports/IImageServicePort';
import type { Logger } from '@core/shared/application';
describe('GetDriversLeaderboardUseCase', () => {
@@ -27,11 +26,7 @@ describe('GetDriversLeaderboardUseCase', () => {
getDriverStats: mockDriverStatsGetDriverStats,
};
const mockImageGetDriverAvatar = vi.fn();
const mockImageService: IImageServicePort = {
getDriverAvatar: mockImageGetDriverAvatar,
};
const mockGetDriverAvatar = vi.fn();
const mockLogger: Logger = {
debug: vi.fn(),
info: vi.fn(),
@@ -48,7 +43,7 @@ describe('GetDriversLeaderboardUseCase', () => {
mockDriverRepo,
mockRankingService,
mockDriverStatsService,
mockImageService,
mockGetDriverAvatar,
mockLogger,
);
@@ -65,7 +60,11 @@ describe('GetDriversLeaderboardUseCase', () => {
if (id === 'driver2') return stats2;
return null;
});
mockImageGetDriverAvatar.mockImplementation((id) => `avatar-${id}`);
mockGetDriverAvatar.mockImplementation((input) => {
if (input.driverId === 'driver1') return Promise.resolve({ avatarUrl: 'avatar-driver1' });
if (input.driverId === 'driver2') return Promise.resolve({ avatarUrl: 'avatar-driver2' });
return Promise.resolve({ avatarUrl: 'avatar-default' });
});
const result = await useCase.execute();
@@ -83,7 +82,7 @@ describe('GetDriversLeaderboardUseCase', () => {
mockDriverRepo,
mockRankingService,
mockDriverStatsService,
mockImageService,
mockGetDriverAvatar,
mockLogger,
);
@@ -106,7 +105,7 @@ describe('GetDriversLeaderboardUseCase', () => {
mockDriverRepo,
mockRankingService,
mockDriverStatsService,
mockImageService,
mockGetDriverAvatar,
mockLogger,
);
@@ -116,7 +115,7 @@ describe('GetDriversLeaderboardUseCase', () => {
mockDriverFindAll.mockResolvedValue([driver1]);
mockRankingGetAllDriverRankings.mockReturnValue(rankings);
mockDriverStatsGetDriverStats.mockReturnValue(null);
mockImageGetDriverAvatar.mockReturnValue('avatar-driver1');
mockGetDriverAvatar.mockResolvedValue({ avatarUrl: 'avatar-driver1' });
const result = await useCase.execute();
@@ -134,7 +133,7 @@ describe('GetDriversLeaderboardUseCase', () => {
mockDriverRepo,
mockRankingService,
mockDriverStatsService,
mockImageService,
mockGetDriverAvatar,
mockLogger,
);