Some checks failed
CI / lint-typecheck (pull_request) Failing after 4m50s
CI / tests (pull_request) Has been skipped
CI / contract-tests (pull_request) Has been skipped
CI / e2e-tests (pull_request) Has been skipped
CI / comment-pr (pull_request) Has been skipped
CI / commit-types (pull_request) Has been skipped
79 lines
4.9 KiB
TypeScript
79 lines
4.9 KiB
TypeScript
import { InMemoryDriverRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryDriverRepository';
|
|
import { InMemoryTeamRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryTeamRepository';
|
|
import { InMemoryTeamMembershipRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryTeamMembershipRepository';
|
|
import { InMemorySocialGraphRepository } from '../../../adapters/social/persistence/inmemory/InMemorySocialAndFeed';
|
|
import { InMemoryDriverExtendedProfileProvider } from '../../../adapters/racing/ports/InMemoryDriverExtendedProfileProvider';
|
|
import { InMemoryDriverStatsRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryDriverStatsRepository';
|
|
import { InMemoryLiveryRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryLiveryRepository';
|
|
import { InMemoryLeagueRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryLeagueRepository';
|
|
import { InMemoryLeagueMembershipRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryLeagueMembershipRepository';
|
|
import { InMemorySponsorshipRequestRepository } from '../../../adapters/racing/persistence/inmemory/InMemorySponsorshipRequestRepository';
|
|
import { InMemorySponsorRepository } from '../../../adapters/racing/persistence/inmemory/InMemorySponsorRepository';
|
|
import { InMemoryEventPublisher } from '../../../adapters/events/InMemoryEventPublisher';
|
|
import { InMemoryResultRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryResultRepository';
|
|
import { InMemoryStandingRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryStandingRepository';
|
|
import { InMemoryRaceRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryRaceRepository';
|
|
import { Logger } from '../../../core/shared/domain/Logger';
|
|
|
|
export class ProfileTestContext {
|
|
public readonly driverRepository: InMemoryDriverRepository;
|
|
public readonly teamRepository: InMemoryTeamRepository;
|
|
public readonly teamMembershipRepository: InMemoryTeamMembershipRepository;
|
|
public readonly socialRepository: InMemorySocialGraphRepository;
|
|
public readonly driverExtendedProfileProvider: InMemoryDriverExtendedProfileProvider;
|
|
public readonly driverStatsRepository: InMemoryDriverStatsRepository;
|
|
public readonly liveryRepository: InMemoryLiveryRepository;
|
|
public readonly leagueRepository: InMemoryLeagueRepository;
|
|
public readonly leagueMembershipRepository: InMemoryLeagueMembershipRepository;
|
|
public readonly sponsorshipRequestRepository: InMemorySponsorshipRequestRepository;
|
|
public readonly sponsorRepository: InMemorySponsorRepository;
|
|
public readonly eventPublisher: InMemoryEventPublisher;
|
|
public readonly resultRepository: InMemoryResultRepository;
|
|
public readonly standingRepository: InMemoryStandingRepository;
|
|
public readonly raceRepository: InMemoryRaceRepository;
|
|
public readonly logger: Logger;
|
|
|
|
constructor() {
|
|
this.logger = {
|
|
info: () => {},
|
|
debug: () => {},
|
|
warn: () => {},
|
|
error: () => {},
|
|
} as unknown as Logger;
|
|
|
|
this.driverRepository = new InMemoryDriverRepository(this.logger);
|
|
this.teamRepository = new InMemoryTeamRepository(this.logger);
|
|
this.teamMembershipRepository = new InMemoryTeamMembershipRepository(this.logger);
|
|
this.socialRepository = new InMemorySocialGraphRepository(this.logger);
|
|
this.driverExtendedProfileProvider = new InMemoryDriverExtendedProfileProvider(this.logger);
|
|
this.driverStatsRepository = new InMemoryDriverStatsRepository(this.logger);
|
|
this.liveryRepository = new InMemoryLiveryRepository(this.logger);
|
|
this.leagueRepository = new InMemoryLeagueRepository(this.logger);
|
|
this.leagueMembershipRepository = new InMemoryLeagueMembershipRepository(this.logger);
|
|
this.sponsorshipRequestRepository = new InMemorySponsorshipRequestRepository(this.logger);
|
|
this.sponsorRepository = new InMemorySponsorRepository(this.logger);
|
|
this.eventPublisher = new InMemoryEventPublisher();
|
|
this.raceRepository = new InMemoryRaceRepository(this.logger);
|
|
this.resultRepository = new InMemoryResultRepository(this.logger, this.raceRepository);
|
|
this.standingRepository = new InMemoryStandingRepository(this.logger, {}, this.resultRepository, this.raceRepository);
|
|
}
|
|
|
|
public async clear(): Promise<void> {
|
|
await this.driverRepository.clear();
|
|
await this.teamRepository.clear();
|
|
await this.teamMembershipRepository.clear();
|
|
await this.socialRepository.clear();
|
|
await this.driverExtendedProfileProvider.clear();
|
|
await this.driverStatsRepository.clear();
|
|
await this.liveryRepository.clear();
|
|
await this.leagueRepository.clear();
|
|
await this.leagueMembershipRepository.clear();
|
|
await this.sponsorshipRequestRepository.clear();
|
|
await this.sponsorRepository.clear();
|
|
this.eventPublisher.clear();
|
|
await this.raceRepository.clear();
|
|
await this.resultRepository.clear();
|
|
await this.standingRepository.clear();
|
|
}
|
|
}
|