code quality
Some checks failed
CI / lint-typecheck (pull_request) Failing after 12s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped

This commit is contained in:
2026-01-26 22:16:33 +01:00
parent f2bd80ccd3
commit 09632d004d
72 changed files with 1946 additions and 277 deletions

View File

@@ -24,12 +24,12 @@ describe('GetDriverRankingsUseCase - Edge Cases & Errors', () => {
const result = await context.getDriverRankingsUseCase.execute({});
expect(result.drivers[0].rating).toBe(5.0);
expect(result.drivers[1].rating).toBe(5.0);
expect(result.drivers[2].rating).toBe(5.0);
expect(result.drivers[0].name).toBe('Alice');
expect(result.drivers[1].name).toBe('Bob');
expect(result.drivers[2].name).toBe('Zoe');
expect(result.drivers[0]!.rating).toBe(5.0);
expect(result.drivers[1]!.rating).toBe(5.0);
expect(result.drivers[2]!.rating).toBe(5.0);
expect(result.drivers[0]!.name).toBe('Alice');
expect(result.drivers[1]!.name).toBe('Bob');
expect(result.drivers[2]!.name).toBe('Zoe');
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
});
@@ -40,8 +40,8 @@ describe('GetDriverRankingsUseCase - Edge Cases & Errors', () => {
const result = await context.getDriverRankingsUseCase.execute({});
expect(result.drivers).toHaveLength(2);
expect(result.drivers[0].teamId).toBe('team-1');
expect(result.drivers[1].teamId).toBeUndefined();
expect(result.drivers[0]!.teamId).toBe('team-1');
expect(result.drivers[1]!.teamId).toBeUndefined();
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
});

View File

@@ -17,10 +17,10 @@ describe('GetDriverRankingsUseCase - Sort Functionality', () => {
const result = await context.getDriverRankingsUseCase.execute({ sortBy: 'rating', sortOrder: 'desc' });
expect(result.drivers[0].rating).toBe(5.0);
expect(result.drivers[1].rating).toBe(4.5);
expect(result.drivers[2].rating).toBe(4.0);
expect(result.drivers[3].rating).toBe(3.5);
expect(result.drivers[0]!.rating).toBe(5.0);
expect(result.drivers[1]!.rating).toBe(4.5);
expect(result.drivers[2]!.rating).toBe(4.0);
expect(result.drivers[3]!.rating).toBe(3.5);
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
});
@@ -31,9 +31,9 @@ describe('GetDriverRankingsUseCase - Sort Functionality', () => {
const result = await context.getDriverRankingsUseCase.execute({ sortBy: 'name', sortOrder: 'asc' });
expect(result.drivers[0].name).toBe('Alice');
expect(result.drivers[1].name).toBe('Bob');
expect(result.drivers[2].name).toBe('Zoe');
expect(result.drivers[0]!.name).toBe('Alice');
expect(result.drivers[1]!.name).toBe('Bob');
expect(result.drivers[2]!.name).toBe('Zoe');
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
});
@@ -44,9 +44,9 @@ describe('GetDriverRankingsUseCase - Sort Functionality', () => {
const result = await context.getDriverRankingsUseCase.execute({ sortBy: 'rank', sortOrder: 'asc' });
expect(result.drivers[0].rank).toBe(1);
expect(result.drivers[1].rank).toBe(2);
expect(result.drivers[2].rank).toBe(3);
expect(result.drivers[0]!.rank).toBe(1);
expect(result.drivers[1]!.rank).toBe(2);
expect(result.drivers[2]!.rank).toBe(3);
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
});
@@ -57,9 +57,9 @@ describe('GetDriverRankingsUseCase - Sort Functionality', () => {
const result = await context.getDriverRankingsUseCase.execute({ sortBy: 'raceCount', sortOrder: 'desc' });
expect(result.drivers[0].raceCount).toBe(50);
expect(result.drivers[1].raceCount).toBe(40);
expect(result.drivers[2].raceCount).toBe(30);
expect(result.drivers[0]!.raceCount).toBe(50);
expect(result.drivers[1]!.raceCount).toBe(40);
expect(result.drivers[2]!.raceCount).toBe(30);
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
});
});

View File

@@ -47,9 +47,9 @@ describe('GetDriverRankingsUseCase - Success Path', () => {
teamName: 'Racing Team A',
raceCount: 50,
});
expect(result.drivers[0].rating).toBe(5.0);
expect(result.drivers[1].rating).toBe(4.8);
expect(result.drivers[2].rating).toBe(4.5);
expect(result.drivers[0]!.rating).toBe(5.0);
expect(result.drivers[1]!.rating).toBe(4.8);
expect(result.drivers[2]!.rating).toBe(4.5);
expect(context.eventPublisher.getDriverRankingsAccessedEventCount()).toBe(1);
});

View File

@@ -20,8 +20,8 @@ describe('GetGlobalLeaderboardsUseCase - Success Path', () => {
expect(result.drivers).toHaveLength(2);
expect(result.teams).toHaveLength(2);
expect(result.drivers[0].rank).toBe(1);
expect(result.teams[0].rank).toBe(1);
expect(result.drivers[0]!.rank).toBe(1);
expect(result.teams[0]!.rank).toBe(1);
expect(context.eventPublisher.getGlobalLeaderboardsAccessedEventCount()).toBe(1);
});
@@ -35,7 +35,7 @@ describe('GetGlobalLeaderboardsUseCase - Success Path', () => {
expect(result.drivers).toHaveLength(10);
expect(result.teams).toHaveLength(10);
expect(result.drivers[0].rating).toBe(4.9);
expect(result.teams[0].rating).toBe(4.9);
expect(result.drivers[0]!.rating).toBe(4.9);
expect(result.teams[0]!.rating).toBe(4.9);
});
});

View File

@@ -23,10 +23,10 @@ describe('GetTeamRankingsUseCase - Data Orchestration', () => {
const result = await context.getTeamRankingsUseCase.execute({});
expect(result.teams[0].rank).toBe(1);
expect(result.teams[0].rating).toBe(4.9);
expect(result.teams[4].rank).toBe(5);
expect(result.teams[4].rating).toBe(4.1);
expect(result.teams[0]!.rank).toBe(1);
expect(result.teams[0]!.rating).toBe(4.9);
expect(result.teams[4]!.rank).toBe(5);
expect(result.teams[4]!.rating).toBe(4.1);
});
it('should correctly aggregate member counts from drivers', async () => {
@@ -46,6 +46,6 @@ describe('GetTeamRankingsUseCase - Data Orchestration', () => {
const result = await context.getTeamRankingsUseCase.execute({});
expect(result.teams[0].memberCount).toBe(5);
expect(result.teams[0]!.memberCount).toBe(5);
});
});

View File

@@ -17,7 +17,7 @@ describe('GetTeamRankingsUseCase - Search & Filter', () => {
const result = await context.getTeamRankingsUseCase.execute({ search: 'Racing' });
expect(result.teams).toHaveLength(1);
expect(result.teams[0].name).toBe('Racing Team');
expect(result.teams[0]!.name).toBe('Racing Team');
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
});
});
@@ -30,7 +30,7 @@ describe('GetTeamRankingsUseCase - Search & Filter', () => {
const result = await context.getTeamRankingsUseCase.execute({ minRating: 4.0 });
expect(result.teams).toHaveLength(1);
expect(result.teams[0].rating).toBe(4.0);
expect(result.teams[0]!.rating).toBe(4.0);
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
});
@@ -41,7 +41,7 @@ describe('GetTeamRankingsUseCase - Search & Filter', () => {
const result = await context.getTeamRankingsUseCase.execute({ minMemberCount: 5 });
expect(result.teams).toHaveLength(1);
expect(result.teams[0].memberCount).toBe(5);
expect(result.teams[0]!.memberCount).toBe(5);
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
});
});

View File

@@ -25,9 +25,9 @@ describe('GetTeamRankingsUseCase - Success Path', () => {
memberCount: 5,
raceCount: 100,
});
expect(result.teams[0].rating).toBe(4.9);
expect(result.teams[1].rating).toBe(4.7);
expect(result.teams[2].rating).toBe(4.3);
expect(result.teams[0]!.rating).toBe(4.9);
expect(result.teams[1]!.rating).toBe(4.7);
expect(result.teams[2]!.rating).toBe(4.3);
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
});
@@ -57,12 +57,12 @@ describe('GetTeamRankingsUseCase - Success Path', () => {
const result = await context.getTeamRankingsUseCase.execute({});
expect(result.teams[0].rating).toBeGreaterThan(0);
expect(typeof result.teams[0].rating).toBe('number');
expect(result.teams[0].rank).toBe(1);
expect(result.teams[0].name).toBeTruthy();
expect(typeof result.teams[0].name).toBe('string');
expect(result.teams[0].memberCount).toBeGreaterThan(0);
expect(result.teams[0]!.rating).toBeGreaterThan(0);
expect(typeof result.teams[0]!.rating).toBe('number');
expect(result.teams[0]!.rank).toBe(1);
expect(result.teams[0]!.name).toBeTruthy();
expect(typeof result.teams[0]!.name).toBe('string');
expect(result.teams[0]!.memberCount).toBeGreaterThan(0);
expect(context.eventPublisher.getTeamRankingsAccessedEventCount()).toBe(1);
});
});