integration tests
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
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
This commit is contained in:
54
tests/integration/races/RacesTestContext.ts
Normal file
54
tests/integration/races/RacesTestContext.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
import { Logger } from '../../../core/shared/domain/Logger';
|
||||
import { InMemoryRaceRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryRaceRepository';
|
||||
import { InMemoryLeagueRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryLeagueRepository';
|
||||
import { InMemoryDriverRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryDriverRepository';
|
||||
import { InMemoryRaceRegistrationRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryRaceRegistrationRepository';
|
||||
import { InMemoryResultRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryResultRepository';
|
||||
import { InMemoryLeagueMembershipRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryLeagueMembershipRepository';
|
||||
import { InMemoryPenaltyRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryPenaltyRepository';
|
||||
import { InMemoryProtestRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryProtestRepository';
|
||||
|
||||
export class RacesTestContext {
|
||||
public readonly logger: Logger;
|
||||
public readonly raceRepository: InMemoryRaceRepository;
|
||||
public readonly leagueRepository: InMemoryLeagueRepository;
|
||||
public readonly driverRepository: InMemoryDriverRepository;
|
||||
public readonly raceRegistrationRepository: InMemoryRaceRegistrationRepository;
|
||||
public readonly resultRepository: InMemoryResultRepository;
|
||||
public readonly leagueMembershipRepository: InMemoryLeagueMembershipRepository;
|
||||
public readonly penaltyRepository: InMemoryPenaltyRepository;
|
||||
public readonly protestRepository: InMemoryProtestRepository;
|
||||
|
||||
private constructor() {
|
||||
this.logger = {
|
||||
info: () => {},
|
||||
debug: () => {},
|
||||
warn: () => {},
|
||||
error: () => {},
|
||||
} as unknown as Logger;
|
||||
|
||||
this.raceRepository = new InMemoryRaceRepository(this.logger);
|
||||
this.leagueRepository = new InMemoryLeagueRepository(this.logger);
|
||||
this.driverRepository = new InMemoryDriverRepository(this.logger);
|
||||
this.raceRegistrationRepository = new InMemoryRaceRegistrationRepository(this.logger);
|
||||
this.resultRepository = new InMemoryResultRepository(this.logger, this.raceRepository);
|
||||
this.leagueMembershipRepository = new InMemoryLeagueMembershipRepository(this.logger);
|
||||
this.penaltyRepository = new InMemoryPenaltyRepository(this.logger);
|
||||
this.protestRepository = new InMemoryProtestRepository(this.logger);
|
||||
}
|
||||
|
||||
public static create(): RacesTestContext {
|
||||
return new RacesTestContext();
|
||||
}
|
||||
|
||||
public async clear(): Promise<void> {
|
||||
(this.raceRepository as any).races.clear();
|
||||
this.leagueRepository.clear();
|
||||
await this.driverRepository.clear();
|
||||
(this.raceRegistrationRepository as any).registrations.clear();
|
||||
(this.resultRepository as any).results.clear();
|
||||
this.leagueMembershipRepository.clear();
|
||||
(this.penaltyRepository as any).penalties.clear();
|
||||
(this.protestRepository as any).protests.clear();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user