Some checks failed
CI / lint-typecheck (pull_request) Failing after 4m51s
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
37 lines
1.7 KiB
TypeScript
37 lines
1.7 KiB
TypeScript
import { InMemoryLeaderboardsRepository } from '../../../adapters/leaderboards/persistence/inmemory/InMemoryLeaderboardsRepository';
|
|
import { InMemoryLeaderboardsEventPublisher } from '../../../adapters/leaderboards/events/InMemoryLeaderboardsEventPublisher';
|
|
import { GetDriverRankingsUseCase } from '../../../core/leaderboards/application/use-cases/GetDriverRankingsUseCase';
|
|
import { GetTeamRankingsUseCase } from '../../../core/leaderboards/application/use-cases/GetTeamRankingsUseCase';
|
|
import { GetGlobalLeaderboardsUseCase } from '../../../core/leaderboards/application/use-cases/GetGlobalLeaderboardsUseCase';
|
|
|
|
export class LeaderboardsTestContext {
|
|
public readonly repository: InMemoryLeaderboardsRepository;
|
|
public readonly eventPublisher: InMemoryLeaderboardsEventPublisher;
|
|
public readonly getDriverRankingsUseCase: GetDriverRankingsUseCase;
|
|
public readonly getTeamRankingsUseCase: GetTeamRankingsUseCase;
|
|
public readonly getGlobalLeaderboardsUseCase: GetGlobalLeaderboardsUseCase;
|
|
|
|
constructor() {
|
|
this.repository = new InMemoryLeaderboardsRepository();
|
|
this.eventPublisher = new InMemoryLeaderboardsEventPublisher();
|
|
|
|
const dependencies = {
|
|
leaderboardsRepository: this.repository,
|
|
eventPublisher: this.eventPublisher,
|
|
};
|
|
|
|
this.getDriverRankingsUseCase = new GetDriverRankingsUseCase(dependencies);
|
|
this.getTeamRankingsUseCase = new GetTeamRankingsUseCase(dependencies);
|
|
this.getGlobalLeaderboardsUseCase = new GetGlobalLeaderboardsUseCase(dependencies);
|
|
}
|
|
|
|
clear(): void {
|
|
this.repository.clear();
|
|
this.eventPublisher.clear();
|
|
}
|
|
|
|
static create(): LeaderboardsTestContext {
|
|
return new LeaderboardsTestContext();
|
|
}
|
|
}
|