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

@@ -124,42 +124,13 @@ describe('TeamService', () => {
clear: vi.fn(),
};
const resultRepository = {
findAll: vi.fn().mockResolvedValue([]),
};
// Mock presenter that stores result synchronously
const allTeamsPresenter = {
reset: vi.fn(),
present: vi.fn((result: any) => {
// Store immediately and synchronously
allTeamsPresenter.responseModel = {
teams: result.teams.map((t: any) => ({
id: t.id,
name: t.name,
tag: t.tag,
description: t.description,
memberCount: t.memberCount,
leagues: t.leagues,
logoUrl: t.logoUrl ?? null,
})),
totalCount: result.totalCount,
};
}),
getResponseModel: vi.fn(() => allTeamsPresenter.responseModel || { teams: [], totalCount: 0 }),
responseModel: { teams: [], totalCount: 0 },
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
};
service = new TeamService(
teamRepository as unknown as never,
membershipRepository as unknown as never,
driverRepository as unknown as never,
logger,
teamStatsRepository as unknown as never,
resultRepository as unknown as never,
allTeamsPresenter as any
teamStatsRepository as unknown as never
);
});
@@ -178,7 +149,15 @@ describe('TeamService', () => {
description: 'Desc',
memberCount: 3,
leagues: ['league-1'],
logoUrl: null,
totalWins: 0,
totalRaces: 0,
performanceLevel: 'intermediate',
specialization: 'mixed',
region: '',
languages: [],
rating: 0,
logoUrl: '/media/teams/team-1/logo',
isRecruiting: false,
},
],
totalCount: 1,
@@ -283,8 +262,16 @@ describe('TeamService', () => {
isActive: true,
avatarUrl: '',
},
{
driverId: '',
driverName: '',
role: 'owner',
joinedAt: '2023-02-02T00:00:00.000Z',
isActive: true,
avatarUrl: '',
},
],
totalCount: 1,
totalCount: 2,
ownerCount: 1,
managerCount: 0,
memberCount: 1,