fix core tests

This commit is contained in:
2025-12-23 20:09:02 +01:00
parent 7290fe69b5
commit b5431355ca
25 changed files with 415 additions and 211 deletions

View File

@@ -1,14 +1,12 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import { describe, it, expect, vi } from 'vitest';
import {
GetDriversLeaderboardUseCase,
type GetDriversLeaderboardResult,
type GetDriversLeaderboardInput,
} 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 { Logger } from '@core/shared/application';
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
describe('GetDriversLeaderboardUseCase', () => {
const mockDriverFindAll = vi.fn();
@@ -41,15 +39,6 @@ describe('GetDriversLeaderboardUseCase', () => {
error: vi.fn(),
};
let output: UseCaseOutputPort<GetDriversLeaderboardResult> & { present: Mock };
beforeEach(() => {
vi.clearAllMocks();
output = {
present: vi.fn(),
} as unknown as UseCaseOutputPort<GetDriversLeaderboardResult> & { present: Mock };
});
it('should return drivers leaderboard data', async () => {
const useCase = new GetDriversLeaderboardUseCase(
mockDriverRepo,
@@ -86,10 +75,7 @@ describe('GetDriversLeaderboardUseCase', () => {
const result = await useCase.execute(input);
expect(result.isOk()).toBe(true);
expect(result.unwrap()).toBeUndefined();
expect(output.present).toHaveBeenCalledTimes(1);
const presented = output.present.mock.calls[0]![0] as GetDriversLeaderboardResult;
const presented = result.unwrap();
expect(presented).toEqual({
items: [
@@ -98,7 +84,7 @@ describe('GetDriversLeaderboardUseCase', () => {
rating: 2500,
skillLevel: 'advanced',
racesCompleted: 10,
wins:5,
wins: 5,
podiums: 7,
isActive: true,
rank: 1,
@@ -139,10 +125,7 @@ describe('GetDriversLeaderboardUseCase', () => {
const result = await useCase.execute(input);
expect(result.isOk()).toBe(true);
expect(result.unwrap()).toBeUndefined();
expect(output.present).toHaveBeenCalledTimes(1);
const presented = output.present.mock.calls[0]![0] as GetDriversLeaderboardResult;
const presented = result.unwrap();
expect(presented).toEqual({
items: [],
@@ -174,10 +157,7 @@ describe('GetDriversLeaderboardUseCase', () => {
const result = await useCase.execute(input);
expect(result.isOk()).toBe(true);
expect(result.unwrap()).toBeUndefined();
expect(output.present).toHaveBeenCalledTimes(1);
const presented = output.present.mock.calls[0]![0] as GetDriversLeaderboardResult;
const presented = result.unwrap();
expect(presented).toEqual({
items: [
@@ -221,6 +201,5 @@ describe('GetDriversLeaderboardUseCase', () => {
if ('details' in err && err.details && typeof err.details === 'object' && 'message' in err.details) {
expect(err.details.message).toBe('Repository error');
}
expect(output.present).not.toHaveBeenCalled();
});
});