website refactor

This commit is contained in:
2026-01-16 12:55:48 +01:00
parent 0208334c59
commit 20a42c52fd
83 changed files with 1610 additions and 1238 deletions

View File

@@ -14,9 +14,7 @@ describe('DriverService', () => {
const isDriverRegisteredForRaceUseCase = { execute: vi.fn() };
const updateDriverProfileUseCase = { execute: vi.fn() };
const getProfileOverviewUseCase = { execute: vi.fn() };
// Mock for repository
const driverRepository = { findById: vi.fn() };
const getDriverUseCase = { execute: vi.fn() };
// Mocks for presenters
const driversLeaderboardPresenter = { present: vi.fn(), getResponseModel: vi.fn() };
@@ -38,8 +36,7 @@ describe('DriverService', () => {
isDriverRegisteredForRaceUseCase.execute.mockResolvedValue(Result.ok(undefined));
updateDriverProfileUseCase.execute.mockResolvedValue(Result.ok(undefined));
getProfileOverviewUseCase.execute.mockResolvedValue(Result.ok(undefined));
driverRepository.findById.mockResolvedValue(null);
getDriverUseCase.execute.mockResolvedValue(Result.ok(null));
driversLeaderboardPresenter.getResponseModel.mockReturnValue({ items: [] });
driverStatsPresenter.getResponseModel.mockReturnValue({ totalDrivers: 0 });
@@ -52,22 +49,22 @@ describe('DriverService', () => {
const createService = () => {
return new DriverService(
getDriversLeaderboardUseCase as any,
getTotalDriversUseCase as any,
getDriverLiveriesUseCase as any,
completeDriverOnboardingUseCase as any,
isDriverRegisteredForRaceUseCase as any,
updateDriverProfileUseCase as any,
getProfileOverviewUseCase as any,
driverRepository as any,
logger as any,
driversLeaderboardPresenter as any,
driverStatsPresenter as any,
completeOnboardingPresenter as any,
driverRegistrationStatusPresenter as any,
driverPresenter as any,
driverProfilePresenter as any,
getDriverLiveriesPresenter as any,
getDriversLeaderboardUseCase as never,
getTotalDriversUseCase as never,
getDriverLiveriesUseCase as never,
completeDriverOnboardingUseCase as never,
isDriverRegisteredForRaceUseCase as never,
updateDriverProfileUseCase as never,
getProfileOverviewUseCase as never,
getDriverUseCase as never,
logger as never,
driversLeaderboardPresenter as never,
driverStatsPresenter as never,
completeOnboardingPresenter as never,
driverRegistrationStatusPresenter as never,
driverPresenter as never,
driverProfilePresenter as never,
getDriverLiveriesPresenter as never,
);
};
@@ -97,7 +94,7 @@ describe('DriverService', () => {
lastName: 'L',
displayName: 'D',
country: 'DE',
} as any);
} as never);
expect(completeDriverOnboardingUseCase.execute).toHaveBeenCalledWith({
userId: 'u1',
@@ -115,7 +112,7 @@ describe('DriverService', () => {
displayName: 'D',
country: 'DE',
bio: 'bio',
} as any);
} as never);
expect(completeDriverOnboardingUseCase.execute).toHaveBeenCalledWith({
userId: 'u1',
@@ -132,19 +129,19 @@ describe('DriverService', () => {
driverRegistrationStatusPresenter.getResponseModel.mockReturnValue({ isRegistered: true });
await expect(
service.getDriverRegistrationStatus({ raceId: 'r1', driverId: 'd1' } as any),
service.getDriverRegistrationStatus({ raceId: 'r1', driverId: 'd1' } as never),
).resolves.toEqual({ isRegistered: true });
expect(isDriverRegisteredForRaceUseCase.execute).toHaveBeenCalledWith({ raceId: 'r1', driverId: 'd1' });
expect(driverRegistrationStatusPresenter.getResponseModel).toHaveBeenCalled();
});
it('getCurrentDriver calls repository and returns presenter model', async () => {
it('getCurrentDriver calls use case and returns presenter model', async () => {
const service = createService();
driverRepository.findById.mockResolvedValue(null);
getDriverUseCase.execute.mockResolvedValue(Result.ok(null));
await expect(service.getCurrentDriver('u1')).resolves.toBeNull();
expect(driverRepository.findById).toHaveBeenCalledWith('u1');
expect(getDriverUseCase.execute).toHaveBeenCalledWith({ driverId: 'u1' });
expect(driverPresenter.getResponseModel).toHaveBeenCalled();
});
@@ -173,12 +170,12 @@ describe('DriverService', () => {
expect(driverPresenter.getResponseModel).toHaveBeenCalled();
});
it('getDriver calls repository and returns presenter model', async () => {
it('getDriver calls use case and returns presenter model', async () => {
const service = createService();
driverRepository.findById.mockResolvedValue(null);
getDriverUseCase.execute.mockResolvedValue(Result.ok(null));
await expect(service.getDriver('d1')).resolves.toBeNull();
expect(driverRepository.findById).toHaveBeenCalledWith('d1');
expect(getDriverUseCase.execute).toHaveBeenCalledWith({ driverId: 'd1' });
});
it('getDriverProfile executes use case and returns presenter model', async () => {