import { InMemoryDriverRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryDriverRepository'; import { CompleteDriverOnboardingUseCase } from '../../../core/racing/application/use-cases/CompleteDriverOnboardingUseCase'; import { Logger } from '../../../core/shared/domain/Logger'; export class OnboardingTestContext { public readonly driverRepository: InMemoryDriverRepository; public readonly completeDriverOnboardingUseCase: CompleteDriverOnboardingUseCase; public readonly mockLogger: Logger; constructor() { this.mockLogger = { info: () => {}, debug: () => {}, warn: () => {}, error: () => {}, } as unknown as Logger; this.driverRepository = new InMemoryDriverRepository(this.mockLogger); this.completeDriverOnboardingUseCase = new CompleteDriverOnboardingUseCase( this.driverRepository, this.mockLogger ); } async clear() { await this.driverRepository.clear(); } static create() { return new OnboardingTestContext(); } }