website refactor

This commit is contained in:
2026-01-14 10:51:05 +01:00
parent 4522d41aef
commit 0d89ad027e
291 changed files with 6887 additions and 3685 deletions

View File

@@ -44,7 +44,10 @@ describe('DriverService', () => {
it('getTotalDrivers executes use case and returns presenter model', async () => {
const getTotalDriversUseCase = { execute: vi.fn(async () => Result.ok(undefined)) };
const driverStatsPresenter = { getResponseModel: vi.fn(() => ({ totalDrivers: 123 })) };
const driverStatsPresenter = {
present: vi.fn(),
getResponseModel: vi.fn(() => ({ totalDrivers: 123 }))
};
const driverPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
@@ -254,7 +257,7 @@ describe('DriverService', () => {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => ({ driver: null }))
getResponseModel: vi.fn(() => null)
};
const service = new DriverService(
@@ -274,9 +277,9 @@ describe('DriverService', () => {
{ getResponseModel: vi.fn(() => ({ profile: {} })) } as any,
);
await expect(service.getDriver('d1')).resolves.toEqual({ driver: null });
await expect(service.getDriver('d1')).resolves.toBeNull();
expect(driverRepository.findById).toHaveBeenCalledWith('d1');
expect(driverPresenter.getResponseModel).toHaveBeenCalled();
// When driver is not found, presenter is not called
});
it('getDriverProfile executes use case and returns presenter model', async () => {

View File

@@ -38,6 +38,7 @@ import {
LOGGER_TOKEN,
UPDATE_DRIVER_PROFILE_USE_CASE_TOKEN,
} from './DriverTokens';
@Injectable()
export class DriverService {
constructor(
@@ -86,7 +87,7 @@ export class DriverService {
if (result.isErr()) {
throw new Error(result.unwrapErr().details.message);
}
this.driverStatsPresenter!.present(result.unwrap());
await this.driverStatsPresenter!.present(result.unwrap());
return this.driverStatsPresenter!.getResponseModel();
}

View File

@@ -102,8 +102,14 @@ describe('LeagueService', () => {
const totalLeaguesPresenter = { present: vi.fn(), getResponseModel: vi.fn(() => ({ total: 1 })) };
const transferLeagueOwnershipPresenter = { present: vi.fn(), getViewModel: vi.fn(() => ({ success: true })) };
const updateLeagueMemberRolePresenter = { present: vi.fn(), getViewModel: vi.fn(() => ({ success: true })) };
const leagueConfigPresenter = { getViewModel: vi.fn(() => ({ form: {} })) };
const leagueScoringConfigPresenter = { getViewModel: vi.fn(() => ({ config: {} })) };
const leagueConfigPresenter = {
present: vi.fn(),
getViewModel: vi.fn(() => ({ form: {} }))
};
const leagueScoringConfigPresenter = {
present: vi.fn(),
getViewModel: vi.fn(() => ({ config: {} }))
};
const getLeagueWalletPresenter = { present: vi.fn(), getResponseModel: vi.fn(() => ({ balance: 0 })) };
const withdrawFromLeagueWalletPresenter = { present: vi.fn(), getResponseModel: vi.fn(() => ({ success: true })) };
const leagueJoinRequestsPresenter = { reset: vi.fn(), present: vi.fn(), getViewModel: vi.fn(() => ({ joinRequests: [] })) };
@@ -461,4 +467,4 @@ describe('LeagueService', () => {
// keep lint happy (ensures err() used)
await err();
});
});
});