harden media

This commit is contained in:
2025-12-31 15:39:28 +01:00
parent 92226800df
commit 8260bf7baf
413 changed files with 8361 additions and 1544 deletions

View File

@@ -7,7 +7,18 @@ describe('DriverService', () => {
it('getDriversLeaderboard executes use case and returns presenter model', async () => {
const getDriversLeaderboardUseCase = { execute: vi.fn(async () => Result.ok(undefined)) };
const driversLeaderboardPresenter = { getResponseModel: vi.fn(() => ({ items: [] })) };
const driversLeaderboardPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => ({ items: [] }))
};
const driverPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => null)
};
const service = new DriverService(
getDriversLeaderboardUseCase as any,
@@ -22,7 +33,7 @@ describe('DriverService', () => {
{ getResponseModel: vi.fn(() => ({ totalDrivers: 0 })) } as any,
{ getResponseModel: vi.fn(() => ({ success: true })) } as any,
{ getResponseModel: vi.fn(() => ({ isRegistered: false })) } as any,
{ getResponseModel: vi.fn(() => null) } as any,
driverPresenter as any,
{ getResponseModel: vi.fn(() => ({ profile: {} })) } as any,
);
@@ -34,6 +45,12 @@ 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 driverPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => null)
};
const service = new DriverService(
{ execute: vi.fn() } as any,
@@ -48,7 +65,7 @@ describe('DriverService', () => {
driverStatsPresenter as any,
{ getResponseModel: vi.fn(() => ({ success: true })) } as any,
{ getResponseModel: vi.fn(() => ({ isRegistered: false })) } as any,
{ getResponseModel: vi.fn(() => null) } as any,
driverPresenter as any,
{ getResponseModel: vi.fn(() => ({ profile: {} })) } as any,
);
@@ -59,6 +76,12 @@ describe('DriverService', () => {
it('completeOnboarding passes optional bio only when provided', async () => {
const completeDriverOnboardingUseCase = { execute: vi.fn(async () => Result.ok(undefined)) };
const driverPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => null)
};
const service = new DriverService(
{ execute: vi.fn() } as any,
@@ -73,7 +96,7 @@ describe('DriverService', () => {
{ getResponseModel: vi.fn(() => ({ totalDrivers: 0 })) } as any,
{ getResponseModel: vi.fn(() => ({ success: true })) } as any,
{ getResponseModel: vi.fn(() => ({ isRegistered: false })) } as any,
{ getResponseModel: vi.fn(() => null) } as any,
driverPresenter as any,
{ getResponseModel: vi.fn(() => ({ profile: {} })) } as any,
);
@@ -115,6 +138,12 @@ describe('DriverService', () => {
it('getDriverRegistrationStatus passes raceId and driverId and returns presenter model', async () => {
const isDriverRegisteredForRaceUseCase = { execute: vi.fn(async () => Result.ok(undefined)) };
const driverRegistrationStatusPresenter = { getResponseModel: vi.fn(() => ({ isRegistered: true })) };
const driverPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => null)
};
const service = new DriverService(
{ execute: vi.fn() } as any,
@@ -129,7 +158,7 @@ describe('DriverService', () => {
{ getResponseModel: vi.fn(() => ({ totalDrivers: 0 })) } as any,
{ getResponseModel: vi.fn(() => ({ success: true })) } as any,
driverRegistrationStatusPresenter as any,
{ getResponseModel: vi.fn(() => null) } as any,
driverPresenter as any,
{ getResponseModel: vi.fn(() => ({ profile: {} })) } as any,
);
@@ -143,7 +172,12 @@ describe('DriverService', () => {
it('getCurrentDriver calls repository and returns presenter model', async () => {
const driverRepository = { findById: vi.fn(async () => null) };
const driverPresenter = { present: vi.fn(), getResponseModel: vi.fn(() => null) };
const driverPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => null)
};
const service = new DriverService(
{ execute: vi.fn() } as any,
@@ -169,7 +203,12 @@ describe('DriverService', () => {
it('updateDriverProfile builds optional input and returns presenter model', async () => {
const updateDriverProfileUseCase = { execute: vi.fn(async () => {}) };
const driverPresenter = { present: vi.fn(), getResponseModel: vi.fn(() => ({ driver: { id: 'd1' } })) };
const driverPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => ({ driver: { id: 'd1' } }))
};
const service = new DriverService(
{ execute: vi.fn() } as any,
@@ -211,7 +250,12 @@ describe('DriverService', () => {
it('getDriver calls repository and returns presenter model', async () => {
const driverRepository = { findById: vi.fn(async () => null) };
const driverPresenter = { present: vi.fn(), getResponseModel: vi.fn(() => ({ driver: null })) };
const driverPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => ({ driver: null }))
};
const service = new DriverService(
{ execute: vi.fn() } as any,
@@ -237,7 +281,17 @@ describe('DriverService', () => {
it('getDriverProfile executes use case and returns presenter model', async () => {
const getProfileOverviewUseCase = { execute: vi.fn(async () => Result.ok(undefined)) };
const driverProfilePresenter = { getResponseModel: vi.fn(() => ({ profile: { id: 'd1' } })) };
const driverProfilePresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
getResponseModel: vi.fn(() => ({ profile: { id: 'd1' } }))
};
const driverPresenter = {
setMediaResolver: vi.fn(),
setBaseUrl: vi.fn(),
present: vi.fn(),
getResponseModel: vi.fn(() => null)
};
const service = new DriverService(
{ execute: vi.fn() } as any,
@@ -252,7 +306,7 @@ describe('DriverService', () => {
{ getResponseModel: vi.fn(() => ({ totalDrivers: 0 })) } as any,
{ getResponseModel: vi.fn(() => ({ success: true })) } as any,
{ getResponseModel: vi.fn(() => ({ isRegistered: false })) } as any,
{ getResponseModel: vi.fn(() => null) } as any,
driverPresenter as any,
driverProfilePresenter as any,
);