refactor core presenters
This commit is contained in:
@@ -47,11 +47,14 @@ describe('GetDriversLeaderboardUseCase', () => {
|
||||
mockLogger,
|
||||
);
|
||||
|
||||
const driver1 = { id: 'driver1', name: 'Driver One' };
|
||||
const driver2 = { id: 'driver2', name: 'Driver Two' };
|
||||
const rankings = { driver1: 1, driver2: 2 };
|
||||
const stats1 = { wins: 5, losses: 2 };
|
||||
const stats2 = { wins: 3, losses: 1 };
|
||||
const driver1 = { id: 'driver1', name: { value: 'Driver One' }, country: { value: 'US' } };
|
||||
const driver2 = { id: 'driver2', name: { value: 'Driver Two' }, country: { value: 'US' } };
|
||||
const rankings = [
|
||||
{ driverId: 'driver1', rating: 2500, overallRank: 1 },
|
||||
{ driverId: 'driver2', rating: 2400, overallRank: 2 },
|
||||
];
|
||||
const stats1 = { totalRaces: 10, wins: 5, podiums: 7 };
|
||||
const stats2 = { totalRaces: 8, wins: 3, podiums: 4 };
|
||||
|
||||
mockDriverFindAll.mockResolvedValue([driver1, driver2]);
|
||||
mockRankingGetAllDriverRankings.mockReturnValue(rankings);
|
||||
@@ -70,10 +73,37 @@ describe('GetDriversLeaderboardUseCase', () => {
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
expect(result.value).toEqual({
|
||||
drivers: [driver1, driver2],
|
||||
rankings,
|
||||
stats: { driver1: stats1, driver2: stats2 },
|
||||
avatarUrls: { driver1: 'avatar-driver1', driver2: 'avatar-driver2' },
|
||||
drivers: [
|
||||
{
|
||||
id: 'driver1',
|
||||
name: 'Driver One',
|
||||
rating: 2500,
|
||||
skillLevel: 'Pro',
|
||||
nationality: 'US',
|
||||
racesCompleted: 10,
|
||||
wins: 5,
|
||||
podiums: 7,
|
||||
isActive: true,
|
||||
rank: 1,
|
||||
avatarUrl: 'avatar-driver1',
|
||||
},
|
||||
{
|
||||
id: 'driver2',
|
||||
name: 'Driver Two',
|
||||
rating: 2400,
|
||||
skillLevel: 'Pro',
|
||||
nationality: 'US',
|
||||
racesCompleted: 8,
|
||||
wins: 3,
|
||||
podiums: 4,
|
||||
isActive: true,
|
||||
rank: 2,
|
||||
avatarUrl: 'avatar-driver2',
|
||||
},
|
||||
],
|
||||
totalRaces: 18,
|
||||
totalWins: 8,
|
||||
activeCount: 2,
|
||||
});
|
||||
});
|
||||
|
||||
@@ -87,16 +117,16 @@ describe('GetDriversLeaderboardUseCase', () => {
|
||||
);
|
||||
|
||||
mockDriverFindAll.mockResolvedValue([]);
|
||||
mockRankingGetAllDriverRankings.mockReturnValue({});
|
||||
mockRankingGetAllDriverRankings.mockReturnValue([]);
|
||||
|
||||
const result = await useCase.execute();
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
expect(result.value).toEqual({
|
||||
drivers: [],
|
||||
rankings: {},
|
||||
stats: {},
|
||||
avatarUrls: {},
|
||||
totalRaces: 0,
|
||||
totalWins: 0,
|
||||
activeCount: 0,
|
||||
});
|
||||
});
|
||||
|
||||
@@ -109,8 +139,8 @@ describe('GetDriversLeaderboardUseCase', () => {
|
||||
mockLogger,
|
||||
);
|
||||
|
||||
const driver1 = { id: 'driver1', name: 'Driver One' };
|
||||
const rankings = { driver1: 1 };
|
||||
const driver1 = { id: 'driver1', name: { value: 'Driver One' }, country: { value: 'US' } };
|
||||
const rankings = [{ driverId: 'driver1', rating: 2500, overallRank: 1 }];
|
||||
|
||||
mockDriverFindAll.mockResolvedValue([driver1]);
|
||||
mockRankingGetAllDriverRankings.mockReturnValue(rankings);
|
||||
@@ -121,10 +151,24 @@ describe('GetDriversLeaderboardUseCase', () => {
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
expect(result.value).toEqual({
|
||||
drivers: [driver1],
|
||||
rankings,
|
||||
stats: {},
|
||||
avatarUrls: { driver1: 'avatar-driver1' },
|
||||
drivers: [
|
||||
{
|
||||
id: 'driver1',
|
||||
name: 'Driver One',
|
||||
rating: 2500,
|
||||
skillLevel: 'Pro',
|
||||
nationality: 'US',
|
||||
racesCompleted: 0,
|
||||
wins: 0,
|
||||
podiums: 0,
|
||||
isActive: true,
|
||||
rank: 1,
|
||||
avatarUrl: 'avatar-driver1',
|
||||
},
|
||||
],
|
||||
totalRaces: 0,
|
||||
totalWins: 0,
|
||||
activeCount: 1,
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user