refactor use cases

This commit is contained in:
2026-01-08 15:34:51 +01:00
parent d984ab24a8
commit 52e9a2f6a7
362 changed files with 5192 additions and 8409 deletions

View File

@@ -9,7 +9,6 @@ import { ITeamRepository } from '../../domain/repositories/ITeamRepository';
import { ITeamMembershipRepository } from '../../domain/repositories/ITeamMembershipRepository';
import { Team } from '../../domain/entities/Team';
import type { Logger } from '@core/shared/application';
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
describe('GetTeamsLeaderboardUseCase', () => {
@@ -27,8 +26,6 @@ describe('GetTeamsLeaderboardUseCase', () => {
warn: Mock;
error: Mock;
};
let output: UseCaseOutputPort<GetTeamsLeaderboardResult> & { present: Mock };
beforeEach(() => {
teamRepository = {
findAll: vi.fn(),
@@ -43,12 +40,7 @@ describe('GetTeamsLeaderboardUseCase', () => {
warn: vi.fn(),
error: vi.fn(),
};
output = {
present: vi.fn(),
} as unknown as UseCaseOutputPort<GetTeamsLeaderboardResult> & { present: Mock };
useCase = new GetTeamsLeaderboardUseCase(
teamRepository as unknown as ITeamRepository,
useCase = new GetTeamsLeaderboardUseCase(teamRepository as unknown as ITeamRepository,
teamMembershipRepository as unknown as ITeamMembershipRepository,
getDriverStats as unknown as (driverId: string) => { rating: number | null; wins: number; totalRaces: number } | null,
logger as unknown as Logger,
@@ -101,9 +93,7 @@ describe('GetTeamsLeaderboardUseCase', () => {
expect(result.isOk()).toBe(true);
expect(result.unwrap()).toBeUndefined();
expect(output.present).toHaveBeenCalledTimes(1);
const presentedRaw = (output.present as unknown as Mock).mock.calls[0]?.[0];
expect(presentedRaw).toBeDefined();
const presentedRaw = (expect(presentedRaw).toBeDefined();
const presented = presentedRaw as GetTeamsLeaderboardResult;
expect(presented.recruitingCount).toBe(2); // both teams are recruiting
@@ -144,6 +134,5 @@ describe('GetTeamsLeaderboardUseCase', () => {
>;
expect(err.code).toBe('REPOSITORY_ERROR');
expect(err.details.message).toBe('Repository error');
expect(output.present).not.toHaveBeenCalled();
});
});
});