website refactor

This commit is contained in:
2026-01-16 19:46:49 +01:00
parent 26fc726556
commit 77a923e6a3
563 changed files with 1643 additions and 2259 deletions

View File

@@ -2,13 +2,13 @@
* Tests for GetTeamRatingLedgerQuery
*/
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import { GetTeamRatingLedgerQuery, GetTeamRatingLedgerQueryHandler } from './GetTeamRatingLedgerQuery';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { TeamRatingEvent } from '../../domain/entities/TeamRatingEvent';
import { TeamRatingEventId } from '../../domain/value-objects/TeamRatingEventId';
import { TeamRatingDimensionKey } from '../../domain/value-objects/TeamRatingDimensionKey';
import { TeamRatingDelta } from '../../domain/value-objects/TeamRatingDelta';
import type { TeamRatingEventRepository } from '../../domain/repositories/TeamRatingEventRepository';
import { TeamRatingDelta } from '../../domain/value-objects/TeamRatingDelta';
import { TeamRatingDimensionKey } from '../../domain/value-objects/TeamRatingDimensionKey';
import { TeamRatingEventId } from '../../domain/value-objects/TeamRatingEventId';
import { GetTeamRatingLedgerQuery, GetTeamRatingLedgerQueryHandler } from './GetTeamRatingLedgerQuery';
describe('GetTeamRatingLedgerQuery', () => {
let mockRatingEventRepo: { findEventsPaginated: Mock };

View File

@@ -5,8 +5,8 @@
* Mirrors user slice 6 pattern but for teams.
*/
import { TeamLedgerEntryDto, TeamLedgerFilter, PaginatedTeamLedgerResult } from '../dtos/TeamLedgerEntryDto';
import { TeamRatingEventRepository, PaginatedQueryOptions, TeamRatingEventFilter } from '../../domain/repositories/TeamRatingEventRepository';
import { PaginatedQueryOptions, TeamRatingEventFilter, TeamRatingEventRepository } from '../../domain/repositories/TeamRatingEventRepository';
import { PaginatedTeamLedgerResult, TeamLedgerEntryDto, TeamLedgerFilter } from '../dtos/TeamLedgerEntryDto';
export interface GetTeamRatingLedgerQuery {
teamId: string;

View File

@@ -2,16 +2,16 @@
* Tests for GetTeamRatingsSummaryQuery
*/
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import { GetTeamRatingsSummaryQuery, GetTeamRatingsSummaryQueryHandler } from './GetTeamRatingsSummaryQuery';
import { TeamRatingSnapshot } from '../../domain/services/TeamRatingSnapshotCalculator';
import { TeamRatingValue } from '../../domain/value-objects/TeamRatingValue';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { TeamRatingEvent } from '../../domain/entities/TeamRatingEvent';
import { TeamRatingEventId } from '../../domain/value-objects/TeamRatingEventId';
import { TeamRatingDimensionKey } from '../../domain/value-objects/TeamRatingDimensionKey';
import { TeamRatingDelta } from '../../domain/value-objects/TeamRatingDelta';
import type { TeamRatingRepository } from '../../domain/repositories/TeamRatingRepository';
import type { TeamRatingEventRepository } from '../../domain/repositories/TeamRatingEventRepository';
import type { TeamRatingRepository } from '../../domain/repositories/TeamRatingRepository';
import { TeamRatingSnapshot } from '../../domain/services/TeamRatingSnapshotCalculator';
import { TeamRatingDelta } from '../../domain/value-objects/TeamRatingDelta';
import { TeamRatingDimensionKey } from '../../domain/value-objects/TeamRatingDimensionKey';
import { TeamRatingEventId } from '../../domain/value-objects/TeamRatingEventId';
import { TeamRatingValue } from '../../domain/value-objects/TeamRatingValue';
import { GetTeamRatingsSummaryQuery, GetTeamRatingsSummaryQueryHandler } from './GetTeamRatingsSummaryQuery';
describe('GetTeamRatingsSummaryQuery', () => {
let mockTeamRatingRepo: { findByTeamId: Mock };

View File

@@ -5,9 +5,9 @@
* Mirrors user slice 6 pattern but for teams.
*/
import { TeamRatingSummaryDto } from '../dtos/TeamRatingSummaryDto';
import { TeamRatingRepository } from '../../domain/repositories/TeamRatingRepository';
import { TeamRatingEventRepository } from '../../domain/repositories/TeamRatingEventRepository';
import { TeamRatingRepository } from '../../domain/repositories/TeamRatingRepository';
import { TeamRatingSummaryDto } from '../dtos/TeamRatingSummaryDto';
export interface GetTeamRatingsSummaryQuery {
teamId: string;

View File

@@ -1,9 +1,14 @@
import type { NotificationService } from '@core/notifications/application/ports/NotificationService';
import type { Logger } from '@core/shared/domain/Logger';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { WalletRepository } from '../../../payments/domain/repositories/WalletRepository';
import { LeagueWallet } from '../../domain/entities/league-wallet/LeagueWallet';
import { Season } from '../../domain/entities/season/Season';
import { SponsorshipRequest } from '../../domain/entities/SponsorshipRequest';
import { LeagueWalletRepository } from '../../domain/repositories/LeagueWalletRepository';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { SeasonSponsorshipRepository } from '../../domain/repositories/SeasonSponsorshipRepository';
import { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
import { Money } from '../../domain/value-objects/Money';
import { AcceptSponsorshipRequestUseCase } from './AcceptSponsorshipRequestUseCase';

View File

@@ -6,15 +6,15 @@
*/
import type { NotificationService } from '@core/notifications/application/ports/NotificationService';
import { WalletRepository } from '@core/payments/domain/repositories/WalletRepository';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { SeasonSponsorship } from '../../domain/entities/season/SeasonSponsorship';
import { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
import { SeasonSponsorshipRepository } from '../../domain/repositories/SeasonSponsorshipRepository';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { WalletRepository } from '@core/payments/domain/repositories/WalletRepository';
import { LeagueWalletRepository } from '../../domain/repositories/LeagueWalletRepository';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { SeasonSponsorshipRepository } from '../../domain/repositories/SeasonSponsorshipRepository';
import { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
export interface AcceptSponsorshipRequestInput {
requestId: string;

View File

@@ -1,12 +1,13 @@
import { AppendTeamRatingEventsUseCase } from './AppendTeamRatingEventsUseCase';
import { TeamRatingEvent } from '@core/racing/domain/entities/TeamRatingEvent';
import { TeamRatingEventRepository } from '@core/racing/domain/repositories/TeamRatingEventRepository';
import { TeamRatingRepository } from '@core/racing/domain/repositories/TeamRatingRepository';
import { TeamRatingEvent } from '@core/racing/domain/entities/TeamRatingEvent';
import { TeamRatingEventId } from '@core/racing/domain/value-objects/TeamRatingEventId';
import { TeamRatingDimensionKey } from '@core/racing/domain/value-objects/TeamRatingDimensionKey';
import { TeamRatingDelta } from '@core/racing/domain/value-objects/TeamRatingDelta';
import { TeamRating } from '@core/racing/domain/value-objects/TeamRating';
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
import { TeamRatingDelta } from '@core/racing/domain/value-objects/TeamRatingDelta';
import { TeamRatingDimensionKey } from '@core/racing/domain/value-objects/TeamRatingDimensionKey';
import { TeamRatingEventId } from '@core/racing/domain/value-objects/TeamRatingEventId';
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
import { PaginatedResult } from '../../domain/repositories/TeamRatingEventRepository';
import { AppendTeamRatingEventsUseCase } from './AppendTeamRatingEventsUseCase';
// Mock repositories
class MockTeamRatingEventRepository implements TeamRatingEventRepository {

View File

@@ -1,6 +1,6 @@
import { TeamRatingEvent } from '@core/racing/domain/entities/TeamRatingEvent';
import type { TeamRatingEventRepository } from '@core/racing/domain/repositories/TeamRatingEventRepository';
import type { TeamRatingRepository } from '@core/racing/domain/repositories/TeamRatingRepository';
import { TeamRatingEvent } from '@core/racing/domain/entities/TeamRatingEvent';
import { TeamRatingSnapshotCalculator } from '@core/racing/domain/services/TeamRatingSnapshotCalculator';
/**

View File

@@ -1,5 +1,8 @@
import type { Logger } from '@core/shared/domain/Logger';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { SponsorRepository } from '../../domain/repositories/SponsorRepository';
import { SponsorshipPricingRepository } from '../../domain/repositories/SponsorshipPricingRepository';
import { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
import { Money } from '../../domain/value-objects/Money';
import { ApplyForSponsorshipUseCase } from './ApplyForSponsorshipUseCase';

View File

@@ -5,14 +5,14 @@
* (driver, team, race, or season/league).
*/
import { Result } from '@core/shared/domain/Result';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { SponsorshipRequest } from '../../domain/entities/SponsorshipRequest';
import { Money, isCurrency } from '../../domain/value-objects/Money';
import { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
import { SponsorshipPricingRepository } from '../../domain/repositories/SponsorshipPricingRepository';
import { SponsorRepository } from '../../domain/repositories/SponsorRepository';
import { SponsorshipPricingRepository } from '../../domain/repositories/SponsorshipPricingRepository';
import { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
import { Money, isCurrency } from '../../domain/value-objects/Money';
export interface ApplyForSponsorshipInput {
sponsorId: string;

View File

@@ -1,10 +1,11 @@
import type { Logger } from '@core/shared/domain/Logger';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { ApplyPenaltyUseCase } from './ApplyPenaltyUseCase';
import { Penalty } from '../../domain/entities/Penalty';
import { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { Logger } from '@core/shared/domain/Logger';
import { ApplyPenaltyUseCase } from './ApplyPenaltyUseCase';
describe('ApplyPenaltyUseCase', () => {
let mockPenaltyRepo: {

View File

@@ -5,15 +5,15 @@
* The penalty can be standalone or linked to an upheld protest.
*/
import { Result } from '@core/shared/domain/Result';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { randomUUID } from 'crypto';
import { Penalty } from '../../domain/entities/penalty/Penalty';
import { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
export interface ApplyPenaltyInput {
raceId: string;

View File

@@ -1,10 +1,10 @@
import { describe, it, expect, beforeEach, vi, Mock } from 'vitest';
import {
ApproveLeagueJoinRequestUseCase,
} from './ApproveLeagueJoinRequestUseCase';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { League } from '../../domain/entities/League';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import {
ApproveLeagueJoinRequestUseCase,
} from './ApproveLeagueJoinRequestUseCase';
describe('ApproveLeagueJoinRequestUseCase', () => {
let mockLeagueMembershipRepo: {
getJoinRequests: Mock;

View File

@@ -1,9 +1,9 @@
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { randomUUID } from 'crypto';
import { LeagueMembership } from '../../domain/entities/LeagueMembership';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
export interface ApproveLeagueJoinRequestInput {
leagueId: string;

View File

@@ -1,6 +1,6 @@
import { describe, it, expect, beforeEach, vi, Mock } from 'vitest';
import { ApproveTeamJoinRequestUseCase } from './ApproveTeamJoinRequestUseCase';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import type { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import { ApproveTeamJoinRequestUseCase } from './ApproveTeamJoinRequestUseCase';
describe('ApproveTeamJoinRequestUseCase', () => {
let useCase: ApproveTeamJoinRequestUseCase;

View File

@@ -2,8 +2,8 @@ import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import type {
TeamJoinRequest,
TeamMembership,
TeamJoinRequest,
TeamMembership,
} from '../../domain/types/TeamMembership';
export type ApproveTeamJoinRequestInput = {

View File

@@ -1,9 +1,9 @@
import type { Logger } from '@core/shared/domain/Logger';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { Race } from '../../domain/entities/Race';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { SessionType } from '../../domain/value-objects/SessionType';
import { CancelRaceUseCase } from './CancelRaceUseCase';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { Logger } from '@core/shared/domain/Logger';
describe('CancelRaceUseCase', () => {
let useCase: CancelRaceUseCase;

View File

@@ -1,5 +1,5 @@
import { Result } from '@core/shared/domain/Result';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Race } from '../../domain/entities/Race';
import { RaceRepository } from '../../domain/repositories/RaceRepository';

View File

@@ -1,13 +1,13 @@
import { DomainEventPublisher } from '@core/shared/domain/DomainEvent';
import type { Logger } from '@core/shared/domain/Logger';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { RaceEvent } from '../../domain/entities/RaceEvent';
import { Session } from '../../domain/entities/Session';
import { SessionType } from '../../domain/value-objects/SessionType';
import { CloseRaceEventStewardingUseCase } from './CloseRaceEventStewardingUseCase';
import { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import { RaceEventRepository } from '../../domain/repositories/RaceEventRepository';
import { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import { DomainEventPublisher } from '@core/shared/domain/DomainEvent';
import type { Logger } from '@core/shared/domain/Logger';
import { SessionType } from '../../domain/value-objects/SessionType';
import { CloseRaceEventStewardingUseCase } from './CloseRaceEventStewardingUseCase';
describe('CloseRaceEventStewardingUseCase', () => {
let useCase: CloseRaceEventStewardingUseCase;

View File

@@ -4,9 +4,9 @@ import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { RaceEvent } from '../../domain/entities/RaceEvent';
import { RaceEventStewardingClosedEvent } from '../../domain/events/RaceEventStewardingClosed';
import { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import { RaceEventRepository } from '../../domain/repositories/RaceEventRepository';
import { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
export type CloseRaceEventStewardingInput = {
raceId: string;

View File

@@ -1,11 +1,11 @@
import { describe, it, expect, beforeEach, afterEach, vi, Mock } from 'vitest';
import {
CompleteDriverOnboardingUseCase,
type CompleteDriverOnboardingInput,
} from './CompleteDriverOnboardingUseCase';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import { Driver } from '../../domain/entities/Driver';
import type { Logger } from '@core/shared/application/Logger';
import { afterEach, beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import {
CompleteDriverOnboardingUseCase,
type CompleteDriverOnboardingInput,
} from './CompleteDriverOnboardingUseCase';
describe('CompleteDriverOnboardingUseCase', () => {
let useCase: CompleteDriverOnboardingUseCase;

View File

@@ -1,8 +1,8 @@
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import { Driver } from '../../domain/entities/Driver';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Logger } from '@core/shared/domain/Logger';
import { Driver } from '../../domain/entities/Driver';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
export interface CompleteDriverOnboardingInput {
userId: string;

View File

@@ -1,9 +1,9 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import { CompleteRaceUseCase, type CompleteRaceInput } from './CompleteRaceUseCase';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import { CompleteRaceUseCase, type CompleteRaceInput } from './CompleteRaceUseCase';
describe('CompleteRaceUseCase', () => {
let useCase: CompleteRaceUseCase;

View File

@@ -1,11 +1,11 @@
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import { Result as RaceResult } from '../../domain/entities/result/Result';
import { Standing } from '../../domain/entities/Standing';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { Result as RaceResult } from '../../domain/entities/result/Result';
import { Standing } from '../../domain/entities/Standing';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
export interface CompleteRaceInput {
raceId: string;

View File

@@ -1,14 +1,14 @@
import { describe, it, expect, beforeEach, vi, Mock } from 'vitest';
import {
CompleteRaceUseCaseWithRatings,
type CompleteRaceWithRatingsInput,
} from './CompleteRaceUseCaseWithRatings';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { RaceResultsProvider } from '@core/identity/application/ports/RaceResultsProvider';
import { RatingUpdateService } from '@core/identity/domain/services/RatingUpdateService';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import { RatingUpdateService } from '@core/identity/domain/services/RatingUpdateService';
import type { RaceResultsProvider } from '@core/identity/application/ports/RaceResultsProvider';
import {
CompleteRaceUseCaseWithRatings,
type CompleteRaceWithRatingsInput,
} from './CompleteRaceUseCaseWithRatings';
describe('CompleteRaceUseCaseWithRatings', () => {
let useCase: CompleteRaceUseCaseWithRatings;

View File

@@ -1,14 +1,14 @@
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import { Result as RaceResult } from '../../domain/entities/result/Result';
import { Standing } from '../../domain/entities/Standing';
import { RaceResultGenerator } from '../utils/RaceResultGenerator';
import type { RaceResultsProvider } from '@core/identity/application/ports/RaceResultsProvider';
import { RatingUpdateService } from '@core/identity/domain/services/RatingUpdateService';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { RaceResultsProvider } from '@core/identity/application/ports/RaceResultsProvider';
import { Result as RaceResult } from '../../domain/entities/result/Result';
import { Standing } from '../../domain/entities/Standing';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import { RaceResultGenerator } from '../utils/RaceResultGenerator';
export interface CompleteRaceWithRatingsInput {
raceId: string;

View File

@@ -1,14 +1,15 @@
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Race } from '../../domain/entities/Race';
import { Season } from '../../domain/entities/season/Season';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { Logger } from 'vite';
import {
CreateLeagueSeasonScheduleRaceUseCase,
type CreateLeagueSeasonScheduleRaceErrorCode,
CreateLeagueSeasonScheduleRaceUseCase,
type CreateLeagueSeasonScheduleRaceErrorCode,
} from './CreateLeagueSeasonScheduleRaceUseCase';
function createLogger(): Logger {

View File

@@ -4,8 +4,8 @@ import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorC
import { Race } from '../../domain/entities/Race';
import type { Season } from '../../domain/entities/season/Season';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
export interface CreateLeagueSeasonScheduleRaceInput {
leagueId: string;

View File

@@ -1,12 +1,12 @@
import type { Logger } from '@core/shared/domain/Logger';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import {
CreateLeagueWithSeasonAndScoringUseCase,
type CreateLeagueWithSeasonAndScoringCommand
} from './CreateLeagueWithSeasonAndScoringUseCase';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { Logger } from '@core/shared/domain/Logger';
describe('CreateLeagueWithSeasonAndScoringUseCase', () => {
let useCase: CreateLeagueWithSeasonAndScoringUseCase;

View File

@@ -1,10 +1,13 @@
import { League } from '../../domain/entities/League';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { v4 as uuidv4 } from 'uuid';
import { League } from '../../domain/entities/League';
import { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig';
import { Season } from '../../domain/entities/season/Season';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { BonusRule } from '../../domain/types/BonusRule';
import type { ChampionshipConfig } from '../../domain/types/ChampionshipConfig';
import type { SessionType } from '../../domain/types/SessionType';
@@ -13,9 +16,6 @@ import {
MIN_RANKED_LEAGUE_DRIVERS,
} from '../../domain/value-objects/LeagueVisibility';
import { PointsTable } from '../../domain/value-objects/PointsTable';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
export type CreateLeagueWithSeasonAndScoringCommand = {
name: string;

View File

@@ -1,12 +1,12 @@
import { describe, it, expect, vi, type Mock, beforeEach } from 'vitest';
import { Season } from '@core/racing/domain/entities/season/Season';
import type { SeasonRepository } from '@core/racing/domain/repositories/SeasonRepository';
import type { LeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
import {
CreateSeasonForLeagueUseCase,
type CreateSeasonForLeagueInput,
type LeagueConfigFormModel,
CreateSeasonForLeagueUseCase,
type CreateSeasonForLeagueInput,
type LeagueConfigFormModel,
} from '@core/racing/application/use-cases/CreateSeasonForLeagueUseCase';
import { Season } from '@core/racing/domain/entities/season/Season';
import type { LeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
import type { SeasonRepository } from '@core/racing/domain/repositories/SeasonRepository';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
function createLeagueConfigFormModel(overrides?: Partial<LeagueConfigFormModel>): LeagueConfigFormModel {
return {

View File

@@ -1,21 +1,21 @@
import { Season } from '../../domain/entities/season/Season';
import { League } from '../../domain/entities/League';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { SeasonSchedule } from '../../domain/value-objects/SeasonSchedule';
import { SeasonScoringConfig } from '../../domain/value-objects/SeasonScoringConfig';
import { SeasonDropPolicy, type SeasonDropStrategy } from '../../domain/value-objects/SeasonDropPolicy';
import { SeasonStewardingConfig } from '../../domain/value-objects/SeasonStewardingConfig';
import type { StewardingDecisionMode } from '../../domain/entities/League';
import { RaceTimeOfDay } from '../../domain/value-objects/RaceTimeOfDay';
import { LeagueTimezone } from '../../domain/value-objects/LeagueTimezone';
import { RecurrenceStrategyFactory } from '../../domain/value-objects/RecurrenceStrategy';
import { WeekdaySet } from '../../domain/value-objects/WeekdaySet';
import { MonthlyRecurrencePattern } from '../../domain/value-objects/MonthlyRecurrencePattern';
import type { Weekday } from '../../domain/types/Weekday';
import { v4 as uuidv4 } from 'uuid';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { v4 as uuidv4 } from 'uuid';
import type { StewardingDecisionMode } from '../../domain/entities/League';
import { League } from '../../domain/entities/League';
import { Season } from '../../domain/entities/season/Season';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { Weekday } from '../../domain/types/Weekday';
import { LeagueTimezone } from '../../domain/value-objects/LeagueTimezone';
import { MonthlyRecurrencePattern } from '../../domain/value-objects/MonthlyRecurrencePattern';
import { RaceTimeOfDay } from '../../domain/value-objects/RaceTimeOfDay';
import { RecurrenceStrategyFactory } from '../../domain/value-objects/RecurrenceStrategy';
import { SeasonDropPolicy, type SeasonDropStrategy } from '../../domain/value-objects/SeasonDropPolicy';
import { SeasonSchedule } from '../../domain/value-objects/SeasonSchedule';
import { SeasonScoringConfig } from '../../domain/value-objects/SeasonScoringConfig';
import { SeasonStewardingConfig } from '../../domain/value-objects/SeasonStewardingConfig';
import { WeekdaySet } from '../../domain/value-objects/WeekdaySet';
export type LeagueConfigFormModel = {
basics?: {

View File

@@ -1,5 +1,6 @@
import type { Logger } from '@core/shared/domain/Logger';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { SponsorRepository } from '../../domain/repositories/SponsorRepository';
import { CreateSponsorUseCase, type CreateSponsorInput } from './CreateSponsorUseCase';
describe('CreateSponsorUseCase', () => {

View File

@@ -3,9 +3,9 @@
*
* Creates a new sponsor.
*/
import { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { v4 as uuidv4 } from 'uuid';
import { Sponsor } from '../../domain/entities/sponsor/Sponsor';
import { SponsorRepository } from '../../domain/repositories/SponsorRepository';

View File

@@ -1,11 +1,11 @@
import type { Logger } from '@core/shared/domain/Logger';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import {
CreateTeamUseCase,
type CreateTeamInput
} from './CreateTeamUseCase';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import type { Logger } from '@core/shared/domain/Logger';
describe('CreateTeamUseCase', () => {
let useCase: CreateTeamUseCase;

View File

@@ -3,18 +3,18 @@
*
* Creates a new team.
*/
import { Result } from '@core/shared/domain/Result';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { v4 as uuidv4 } from 'uuid';
import { Team } from '../../domain/entities/Team';
import { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import type {
TeamMembership,
TeamMembershipStatus,
TeamRole,
} from '../../domain/types/TeamMembership';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
export interface CreateTeamInput {
name: string;

View File

@@ -1,22 +1,22 @@
import { describe, it, expect } from 'vitest';
import { describe, expect, it } from 'vitest';
import {
DashboardOverviewUseCase,
type DashboardOverviewInput,
type DashboardOverviewResult,
DashboardOverviewUseCase,
type DashboardOverviewInput,
type DashboardOverviewResult,
} from '@core/racing/application/use-cases/DashboardOverviewUseCase';
import { Driver } from '@core/racing/domain/entities/Driver';
import { Race } from '@core/racing/domain/entities/Race';
import { League } from '@core/racing/domain/entities/League';
import { Standing } from '@core/racing/domain/entities/Standing';
import { LeagueMembership } from '@core/racing/domain/entities/LeagueMembership';
import { Race } from '@core/racing/domain/entities/Race';
import { Result as RaceResult } from '@core/racing/domain/entities/result/Result';
import { Standing } from '@core/racing/domain/entities/Standing';
import type { FeedItem } from '@core/social/domain/types/FeedItem';
import { Result as UseCaseResult } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { JoinRequest } from '@core/racing/domain/entities/JoinRequest';
import { RaceRegistration } from '@core/racing/domain/entities/RaceRegistration';
import { Result as UseCaseResult } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { FeedItem } from '@core/social/domain/types/FeedItem';
describe('DashboardOverviewUseCase', () => {
it('partitions upcoming races into myUpcomingRaces and otherUpcomingRaces and selects nextRace from myUpcomingRaces', async () => {

View File

@@ -6,6 +6,7 @@ import type { FeedItem } from '@core/social/domain/types/FeedItem';
import { Driver } from '../../domain/entities/Driver';
import { League } from '../../domain/entities/League';
import { Race } from '../../domain/entities/Race';
import type { Result as RaceResult } from '../../domain/entities/result/Result';
import { Standing } from '../../domain/entities/Standing';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
@@ -14,7 +15,6 @@ import type { RaceRegistrationRepository } from '../../domain/repositories/RaceR
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import type { Result as RaceResult } from '../../domain/entities/result/Result';
export interface DashboardOverviewInput {
driverId: string;

View File

@@ -1,14 +1,15 @@
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Race } from '../../domain/entities/Race';
import { Season } from '../../domain/entities/season/Season';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { Logger } from 'vite';
import {
DeleteLeagueSeasonScheduleRaceUseCase,
type DeleteLeagueSeasonScheduleRaceErrorCode,
DeleteLeagueSeasonScheduleRaceUseCase,
type DeleteLeagueSeasonScheduleRaceErrorCode,
} from './DeleteLeagueSeasonScheduleRaceUseCase';
function createLogger(): Logger {

View File

@@ -1,8 +1,8 @@
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
export interface DeleteLeagueSeasonScheduleRaceInput {
leagueId: string;

View File

@@ -1,10 +1,10 @@
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { Protest } from '../../domain/entities/Protest';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import { FileProtestUseCase, type FileProtestErrorCode, type FileProtestInput } from './FileProtestUseCase';
import { Protest } from '../../domain/entities/Protest';
describe('FileProtestUseCase', () => {
let mockProtestRepo: {

View File

@@ -4,13 +4,13 @@
* Allows a driver to file a protest against another driver for an incident during a race.
*/
import { Protest } from '../../domain/entities/Protest';
import type { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { randomUUID } from 'crypto';
import { Protest } from '../../domain/entities/Protest';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
export type FileProtestErrorCode = 'RACE_NOT_FOUND' | 'SELF_PROTEST' | 'NOT_MEMBER' | 'REPOSITORY_ERROR';

View File

@@ -5,8 +5,8 @@ import type { LeagueRepository } from '../../domain/repositories/LeagueRepositor
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import {
GetAllLeaguesWithCapacityAndScoringUseCase,
type GetAllLeaguesWithCapacityAndScoringInput,
GetAllLeaguesWithCapacityAndScoringUseCase,
type GetAllLeaguesWithCapacityAndScoringInput,
} from './GetAllLeaguesWithCapacityAndScoringUseCase';
describe('GetAllLeaguesWithCapacityAndScoringUseCase', () => {

View File

@@ -1,15 +1,15 @@
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import type { League } from '../../domain/entities/League';
import type { Season } from '../../domain/entities/season/Season';
import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig';
import type { Game } from '../../domain/entities/Game';
import type { LeagueScoringPreset } from '../../domain/types/LeagueScoringPreset';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Game } from '../../domain/entities/Game';
import type { League } from '../../domain/entities/League';
import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig';
import type { Season } from '../../domain/entities/season/Season';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { LeagueScoringPreset } from '../../domain/types/LeagueScoringPreset';
export type GetAllLeaguesWithCapacityAndScoringInput = {};

View File

@@ -2,8 +2,8 @@ import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import {
GetAllLeaguesWithCapacityUseCase,
type GetAllLeaguesWithCapacityInput,
GetAllLeaguesWithCapacityUseCase,
type GetAllLeaguesWithCapacityInput,
} from './GetAllLeaguesWithCapacityUseCase';
describe('GetAllLeaguesWithCapacityUseCase', () => {

View File

@@ -1,8 +1,8 @@
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { League } from '../../domain/entities/League';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { League } from '../../domain/entities/League';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
export type GetAllLeaguesWithCapacityInput = {};

View File

@@ -7,8 +7,8 @@ import {
type GetAllRacesPageDataInput
} from './GetAllRacesPageDataUseCase';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
describe('GetAllRacesPageDataUseCase', () => {
const mockRaceFindAll = vi.fn();

View File

@@ -1,10 +1,10 @@
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Race, RaceStatusValue } from '../../domain/entities/Race';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { Logger } from '@core/shared/domain/Logger';
import type { League } from '../../domain/entities/League';
import type { Race, RaceStatusValue } from '../../domain/entities/Race';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
export type GetAllRacesPageDataInput = {};

View File

@@ -1,10 +1,10 @@
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { League } from '../../domain/entities/League';
import type { Race } from '../../domain/entities/Race';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { Logger } from '@core/shared/domain/Logger';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
export type GetAllRacesInput = {};

View File

@@ -1,9 +1,9 @@
import { Team } from '../../domain/entities/Team';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import { Team } from '../../domain/entities/Team';
import { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import { TeamStatsRepository } from '../../domain/repositories/TeamStatsRepository';
export interface GetAllTeamsInput {}

View File

@@ -1,6 +1,7 @@
import type { Logger } from '@core/shared/domain/Logger';
import { describe, expect, it, vi } from 'vitest';
import type { DriverLivery } from '../../domain/entities/DriverLivery';
import { LiveryRepository } from '../../domain/repositories/LiveryRepository';
import { GetDriverLiveriesUseCase, type GetDriverLiveriesInput } from './GetDriverLiveriesUseCase';
describe('GetDriverLiveriesUseCase', () => {

View File

@@ -4,11 +4,11 @@
* Retrieves all liveries for a specific driver.
*/
import { DriverLivery } from '../../domain/entities/DriverLivery';
import { UseCase } from '@core/shared/application/UseCase';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { DriverLivery } from '../../domain/entities/DriverLivery';
import { LiveryRepository } from '../../domain/repositories/LiveryRepository';
export interface GetDriverLiveriesInput {

View File

@@ -1,8 +1,8 @@
import type { Logger } from '@core/shared/domain/Logger';
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { GetDriverTeamUseCase, type GetDriverTeamInput } from './GetDriverTeamUseCase';
import type { TeamRepository } from '../../domain/repositories/TeamRepository';
import type { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import type { TeamRepository } from '../../domain/repositories/TeamRepository';
import { GetDriverTeamUseCase, type GetDriverTeamInput } from './GetDriverTeamUseCase';
describe('GetDriverTeamUseCase', () => {
let mockTeamRepo: TeamRepository;

View File

@@ -1,10 +1,10 @@
import { TeamMembership } from '../../domain/types/TeamMembership';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Team } from '../../domain/entities/Team';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import { TeamMembership } from '../../domain/types/TeamMembership';
export interface GetDriverTeamInput {
driverId: string;

View File

@@ -1,9 +1,12 @@
import type { Logger } from '@core/shared/domain/Logger';
import { describe, expect, it, vi } from 'vitest';
import { DriverRepository } from '../../domain/repositories/DriverRepository';
import { DriverStatsUseCase } from './DriverStatsUseCase';
import {
GetDriversLeaderboardUseCase,
type GetDriversLeaderboardInput
} from './GetDriversLeaderboardUseCase';
import { RankingUseCase } from './RankingUseCase';
describe('GetDriversLeaderboardUseCase', () => {
const mockDriverFindAll = vi.fn();

View File

@@ -1,14 +1,14 @@
import type { Logger } from '@core/shared/domain/Logger';
import { MediaReference } from '@core/domain/media/MediaReference';
import type { UseCase } from '@core/shared/application/UseCase';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Driver } from '../../domain/entities/Driver';
import type { Team } from '../../domain/entities/Team';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import { SkillLevelService, type SkillLevel } from '../../domain/services/SkillLevelService';
import type { DriverStats, DriverStatsUseCase } from './DriverStatsUseCase';
import type { RankingUseCase } from './RankingUseCase';
import { SkillLevelService, type SkillLevel } from '../../domain/services/SkillLevelService';
import { MediaReference } from '@core/domain/media/MediaReference';
export type GetDriversLeaderboardInput = {
leagueId?: string;

View File

@@ -1,11 +1,11 @@
import type { Logger } from '@core/shared/domain/Logger';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import type { SponsorshipPricingRepository } from '../../domain/repositories/SponsorshipPricingRepository';
import {
GetEntitySponsorshipPricingUseCase,
type GetEntitySponsorshipPricingInput
} from './GetEntitySponsorshipPricingUseCase';
import type { SponsorshipPricingRepository } from '../../domain/repositories/SponsorshipPricingRepository';
describe('GetEntitySponsorshipPricingUseCase', () => {
let mockSponsorshipPricingRepo: SponsorshipPricingRepository;

View File

@@ -5,11 +5,11 @@
* Used by sponsors to see available slots and prices.
*/
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { SponsorableEntityType } from '../../domain/entities/SponsorshipRequest';
import { SponsorshipPricingRepository } from '../../domain/repositories/SponsorshipPricingRepository';
import type { Logger } from '@core/shared/domain/Logger';
export type SponsorshipEntityType = SponsorableEntityType;

View File

@@ -1,13 +1,14 @@
import type { Logger } from '@core/shared/domain/Logger';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { League } from '../../domain/entities/League';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import {
GetLeagueAdminPermissionsUseCase,
type GetLeagueAdminPermissionsErrorCode,
type GetLeagueAdminPermissionsInput
} from './GetLeagueAdminPermissionsUseCase';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
describe('GetLeagueAdminPermissionsUseCase', () => {
let mockLeagueRepo: LeagueRepository;

View File

@@ -2,8 +2,8 @@ import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { League } from '../../domain/entities/League';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
export interface GetLeagueAdminPermissionsInput {
leagueId: string;

View File

@@ -1,11 +1,11 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueAdminUseCase,
type GetLeagueAdminInput,
type GetLeagueAdminErrorCode,
} from './GetLeagueAdminUseCase';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import {
GetLeagueAdminUseCase,
type GetLeagueAdminErrorCode,
type GetLeagueAdminInput,
} from './GetLeagueAdminUseCase';
describe('GetLeagueAdminUseCase', () => {
let mockLeagueRepo: {

View File

@@ -1,7 +1,7 @@
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { League } from '../../domain/entities/League';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
export type GetLeagueAdminInput = {
leagueId: string;

View File

@@ -1,16 +1,16 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueDriverSeasonStatsUseCase,
type GetLeagueDriverSeasonStatsErrorCode,
type GetLeagueDriverSeasonStatsInput,
} from './GetLeagueDriverSeasonStatsUseCase';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import type { DriverRatingPort } from '../ports/DriverRatingPort';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import {
GetLeagueDriverSeasonStatsUseCase,
type GetLeagueDriverSeasonStatsErrorCode,
type GetLeagueDriverSeasonStatsInput,
} from './GetLeagueDriverSeasonStatsUseCase';
describe('GetLeagueDriverSeasonStatsUseCase', () => {
const mockStandingFindByLeagueId = vi.fn();

View File

@@ -1,14 +1,14 @@
import { describe, it, expect, vi, beforeEach, type Mock } from 'vitest';
import {
GetLeagueFullConfigUseCase,
type GetLeagueFullConfigInput,
type GetLeagueFullConfigErrorCode,
} from './GetLeagueFullConfigUseCase';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import {
GetLeagueFullConfigUseCase,
type GetLeagueFullConfigErrorCode,
type GetLeagueFullConfigInput,
} from './GetLeagueFullConfigUseCase';
describe('GetLeagueFullConfigUseCase', () => {
let useCase: GetLeagueFullConfigUseCase;

View File

@@ -1,9 +1,9 @@
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
export type GetLeagueFullConfigInput = {
leagueId: string;

View File

@@ -1,14 +1,14 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueJoinRequestsUseCase,
type GetLeagueJoinRequestsInput,
type GetLeagueJoinRequestsErrorCode,
} from './GetLeagueJoinRequestsUseCase';
import { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import { DriverRepository } from '../../domain/repositories/DriverRepository';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { Driver } from '../../domain/entities/Driver';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import { DriverRepository } from '../../domain/repositories/DriverRepository';
import { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import {
GetLeagueJoinRequestsUseCase,
type GetLeagueJoinRequestsErrorCode,
type GetLeagueJoinRequestsInput,
} from './GetLeagueJoinRequestsUseCase';
describe('GetLeagueJoinRequestsUseCase', () => {
let useCase: GetLeagueJoinRequestsUseCase;

View File

@@ -1,16 +1,16 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueMembershipsUseCase,
type GetLeagueMembershipsInput,
type GetLeagueMembershipsErrorCode,
} from './GetLeagueMembershipsUseCase';
import { LeagueMembership } from '../../domain/entities/LeagueMembership';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import { League } from '../../domain/entities/League';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import { LeagueMembership } from '../../domain/entities/LeagueMembership';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import {
GetLeagueMembershipsUseCase,
type GetLeagueMembershipsErrorCode,
type GetLeagueMembershipsInput,
} from './GetLeagueMembershipsUseCase';
describe('GetLeagueMembershipsUseCase', () => {
let useCase: GetLeagueMembershipsUseCase;

View File

@@ -1,11 +1,11 @@
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueMembership } from '../../domain/entities/LeagueMembership';
import type { Driver } from '../../domain/entities/Driver';
import type { League } from '../../domain/entities/League';
import type { LeagueMembership } from '../../domain/entities/LeagueMembership';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
export interface GetLeagueMembershipsInput {
leagueId: string;

View File

@@ -1,16 +1,16 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueOwnerSummaryUseCase,
type GetLeagueOwnerSummaryInput,
type GetLeagueOwnerSummaryErrorCode,
} from './GetLeagueOwnerSummaryUseCase';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import { League } from '../../domain/entities/League';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import {
GetLeagueOwnerSummaryUseCase,
type GetLeagueOwnerSummaryErrorCode,
type GetLeagueOwnerSummaryInput,
} from './GetLeagueOwnerSummaryUseCase';
describe('GetLeagueOwnerSummaryUseCase', () => {
let useCase: GetLeagueOwnerSummaryUseCase;

View File

@@ -1,11 +1,11 @@
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { Driver } from '../../domain/entities/Driver';
import type { League } from '../../domain/entities/League';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import type { League } from '../../domain/entities/League';
import type { Driver } from '../../domain/entities/Driver';
export interface GetLeagueOwnerSummaryInput {
leagueId: string;

View File

@@ -1,18 +1,18 @@
import { describe, it, expect, beforeEach, vi, Mock } from 'vitest';
import {
GetLeagueProtestsUseCase,
GetLeagueProtestsInput,
GetLeagueProtestsErrorCode,
} from './GetLeagueProtestsUseCase';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import { DriverRepository } from '../../domain/repositories/DriverRepository';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { Race } from '../../domain/entities/Race';
import { Protest } from '../../domain/entities/Protest';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import { League } from '../../domain/entities/League';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { Protest } from '../../domain/entities/Protest';
import { Race } from '../../domain/entities/Race';
import { DriverRepository } from '../../domain/repositories/DriverRepository';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import {
GetLeagueProtestsErrorCode,
GetLeagueProtestsInput,
GetLeagueProtestsUseCase,
} from './GetLeagueProtestsUseCase';
describe('GetLeagueProtestsUseCase', () => {
let useCase: GetLeagueProtestsUseCase;

View File

@@ -1,13 +1,13 @@
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { Result } from '@core/shared/domain/Result';
import type { Race } from '../../domain/entities/Race';
import type { Protest } from '../../domain/entities/Protest';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Driver } from '../../domain/entities/Driver';
import type { League } from '../../domain/entities/League';
import type { Protest } from '../../domain/entities/Protest';
import type { Race } from '../../domain/entities/Race';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
export interface GetLeagueProtestsInput {
leagueId: string;

View File

@@ -1,14 +1,14 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueRosterJoinRequestsUseCase,
type GetLeagueRosterJoinRequestsInput,
type GetLeagueRosterJoinRequestsErrorCode,
} from './GetLeagueRosterJoinRequestsUseCase';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import {
GetLeagueRosterJoinRequestsUseCase,
type GetLeagueRosterJoinRequestsErrorCode,
type GetLeagueRosterJoinRequestsInput,
} from './GetLeagueRosterJoinRequestsUseCase';
describe('GetLeagueRosterJoinRequestsUseCase', () => {
let useCase: GetLeagueRosterJoinRequestsUseCase;

View File

@@ -1,15 +1,15 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueRosterMembersUseCase,
type GetLeagueRosterMembersInput,
type GetLeagueRosterMembersErrorCode,
} from './GetLeagueRosterMembersUseCase';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { LeagueMembership } from '../../domain/entities/LeagueMembership';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import { LeagueMembership } from '../../domain/entities/LeagueMembership';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import {
GetLeagueRosterMembersUseCase,
type GetLeagueRosterMembersErrorCode,
type GetLeagueRosterMembersInput,
} from './GetLeagueRosterMembersUseCase';
describe('GetLeagueRosterMembersUseCase', () => {
let useCase: GetLeagueRosterMembersUseCase;

View File

@@ -1,16 +1,16 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueScheduleUseCase,
type GetLeagueScheduleInput,
type GetLeagueScheduleErrorCode,
} from './GetLeagueScheduleUseCase';
import type { Logger } from '@core/shared/domain/Logger';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { League } from '../../domain/entities/League';
import { Race } from '../../domain/entities/Race';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { Logger } from '@core/shared/domain/Logger';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import {
GetLeagueScheduleUseCase,
type GetLeagueScheduleErrorCode,
type GetLeagueScheduleInput,
} from './GetLeagueScheduleUseCase';
describe('GetLeagueScheduleUseCase', () => {
let useCase: GetLeagueScheduleUseCase;

View File

@@ -1,4 +1,3 @@
import { SeasonScheduleGenerator } from '../../domain/services/SeasonScheduleGenerator';
import type { Logger } from '@core/shared/domain/Logger';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
@@ -6,8 +5,9 @@ import type { League } from '../../domain/entities/League';
import type { Race } from '../../domain/entities/Race';
import type { Season } from '../../domain/entities/season/Season';
import { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { RaceRepository } from '../../domain/repositories/RaceRepository';
import { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import { SeasonScheduleGenerator } from '../../domain/services/SeasonScheduleGenerator';
export type GetLeagueScheduleErrorCode =
| 'LEAGUE_NOT_FOUND'

View File

@@ -1,14 +1,14 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import { GetLeagueScoringConfigUseCase } from './GetLeagueScoringConfigUseCase';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import type { League } from '../../domain/entities/League';
import type { Season } from '../../domain/entities/season/Season';
import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { Game } from '../../domain/entities/Game';
import type { League } from '../../domain/entities/League';
import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig';
import type { Season } from '../../domain/entities/season/Season';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { LeagueScoringPreset } from '../../domain/types/LeagueScoringPreset';
import { GetLeagueScoringConfigUseCase } from './GetLeagueScoringConfigUseCase';
describe('GetLeagueScoringConfigUseCase', () => {
let useCase: GetLeagueScoringConfigUseCase;

View File

@@ -1,13 +1,13 @@
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig';
import type { League } from '../../domain/entities/League';
import type { Season } from '../../domain/entities/season/Season';
import type { Game } from '../../domain/entities/Game';
import type { League } from '../../domain/entities/League';
import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig';
import type { Season } from '../../domain/entities/season/Season';
import type { GameRepository } from '../../domain/repositories/GameRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueScoringConfigRepository } from '../../domain/repositories/LeagueScoringConfigRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { LeagueScoringPreset } from '../../domain/types/LeagueScoringPreset';
export interface GetLeagueScoringConfigInput {

View File

@@ -1,14 +1,14 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueSeasonsUseCase,
type GetLeagueSeasonsInput,
type GetLeagueSeasonsErrorCode,
} from './GetLeagueSeasonsUseCase';
import { Season } from '../../domain/entities/season/Season';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { League } from '../../domain/entities/League';
import { Season } from '../../domain/entities/season/Season';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import {
GetLeagueSeasonsUseCase,
type GetLeagueSeasonsErrorCode,
type GetLeagueSeasonsInput,
} from './GetLeagueSeasonsUseCase';
describe('GetLeagueSeasonsUseCase', () => {
let useCase: GetLeagueSeasonsUseCase;

View File

@@ -1,8 +1,8 @@
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Season } from '../../domain/entities/season/Season';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { SeasonRepository } from '../../domain/repositories/SeasonRepository';
import type { Season } from '../../domain/entities/season/Season';
export interface GetLeagueSeasonsInput {
leagueId: string;

View File

@@ -1,14 +1,14 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import {
GetLeagueStandingsUseCase,
type GetLeagueStandingsInput,
type GetLeagueStandingsErrorCode,
} from './GetLeagueStandingsUseCase';
import { Standing } from '../../domain/entities/Standing';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import { Standing } from '../../domain/entities/Standing';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import {
GetLeagueStandingsUseCase,
type GetLeagueStandingsErrorCode,
type GetLeagueStandingsInput,
} from './GetLeagueStandingsUseCase';
describe('GetLeagueStandingsUseCase', () => {
let useCase: GetLeagueStandingsUseCase;

View File

@@ -1,8 +1,8 @@
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Driver } from '../../domain/entities/Driver';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { StandingRepository } from '../../domain/repositories/StandingRepository';
export type GetLeagueStandingsErrorCode = 'REPOSITORY_ERROR';

View File

@@ -1,12 +1,12 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueStatsUseCase,
type GetLeagueStatsInput,
type GetLeagueStatsErrorCode,
} from './GetLeagueStatsUseCase';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import {
GetLeagueStatsUseCase,
type GetLeagueStatsErrorCode,
type GetLeagueStatsInput,
} from './GetLeagueStatsUseCase';
describe('GetLeagueStatsUseCase', () => {
let useCase: GetLeagueStatsUseCase;

View File

@@ -1,7 +1,7 @@
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
export interface GetLeagueStatsInput {
leagueId: string;

View File

@@ -1,18 +1,18 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetLeagueWalletUseCase,
type GetLeagueWalletInput,
type GetLeagueWalletErrorCode,
} from './GetLeagueWalletUseCase';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { LeagueWallet } from '../../domain/entities/league-wallet/LeagueWallet';
import { LeagueWalletId } from '../../domain/entities/league-wallet/LeagueWalletId';
import { Transaction } from '../../domain/entities/league-wallet/Transaction';
import { TransactionId } from '../../domain/entities/league-wallet/TransactionId';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueWalletRepository } from '../../domain/repositories/LeagueWalletRepository';
import type { TransactionRepository } from '../../domain/repositories/TransactionRepository';
import { LeagueWallet } from '../../domain/entities/league-wallet/LeagueWallet';
import { Money } from '../../domain/value-objects/Money';
import { Transaction } from '../../domain/entities/league-wallet/Transaction';
import { TransactionId } from '../../domain/entities/league-wallet/TransactionId';
import { LeagueWalletId } from '../../domain/entities/league-wallet/LeagueWalletId';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import {
GetLeagueWalletUseCase,
type GetLeagueWalletErrorCode,
type GetLeagueWalletInput,
} from './GetLeagueWalletUseCase';
describe('GetLeagueWalletUseCase', () => {
let leagueRepository: {

View File

@@ -1,10 +1,10 @@
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { LeagueWallet } from '../../domain/entities/league-wallet/LeagueWallet';
import type { Transaction } from '../../domain/entities/league-wallet/Transaction';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { LeagueWalletRepository } from '../../domain/repositories/LeagueWalletRepository';
import type { TransactionRepository } from '../../domain/repositories/TransactionRepository';
import type { Transaction } from '../../domain/entities/league-wallet/Transaction';
import type { LeagueWallet } from '../../domain/entities/league-wallet/LeagueWallet';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { Money } from '../../domain/value-objects/Money';
export type GetLeagueWalletErrorCode =

View File

@@ -1,15 +1,15 @@
import { describe, it, expect, beforeEach, vi, Mock } from 'vitest';
import {
GetPendingSponsorshipRequestsUseCase,
type GetPendingSponsorshipRequestsInput,
type GetPendingSponsorshipRequestsErrorCode,
} from './GetPendingSponsorshipRequestsUseCase';
import { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
import { SponsorRepository } from '../../domain/repositories/SponsorRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import { SponsorshipRequest } from '../../domain/entities/SponsorshipRequest';
import { Sponsor } from '../../domain/entities/sponsor/Sponsor';
import { SponsorRepository } from '../../domain/repositories/SponsorRepository';
import { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
import { Money } from '../../domain/value-objects/Money';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import {
GetPendingSponsorshipRequestsUseCase,
type GetPendingSponsorshipRequestsErrorCode,
type GetPendingSponsorshipRequestsInput,
} from './GetPendingSponsorshipRequestsUseCase';
describe('GetPendingSponsorshipRequestsUseCase', () => {
let useCase: GetPendingSponsorshipRequestsUseCase;

View File

@@ -4,12 +4,12 @@
* Retrieves pending sponsorship requests for an entity owner to review.
*/
import type { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
import type { SponsorRepository } from '../../domain/repositories/SponsorRepository';
import type { SponsorableEntityType, SponsorshipRequest } from '../../domain/entities/SponsorshipRequest';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Sponsor } from '../../domain/entities/sponsor/Sponsor';
import type { SponsorableEntityType, SponsorshipRequest } from '../../domain/entities/SponsorshipRequest';
import type { SponsorRepository } from '../../domain/repositories/SponsorRepository';
import type { SponsorshipRequestRepository } from '../../domain/repositories/SponsorshipRequestRepository';
import { Money } from '../../domain/value-objects/Money';
export interface GetPendingSponsorshipRequestsInput {

View File

@@ -1,15 +1,15 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetProfileOverviewUseCase,
} from './GetProfileOverviewUseCase';
import { DriverRepository } from '../../domain/repositories/DriverRepository';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import { SocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import type { DriverStatsUseCase } from './DriverStatsUseCase';
import type { RankingUseCase } from './RankingUseCase';
import { DriverRepository } from '../../domain/repositories/DriverRepository';
import { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import { TeamRepository } from '../../domain/repositories/TeamRepository';
import type { DriverExtendedProfileProvider } from '../ports/DriverExtendedProfileProvider';
import type { DriverStatsUseCase } from './DriverStatsUseCase';
import {
GetProfileOverviewUseCase,
} from './GetProfileOverviewUseCase';
import type { RankingUseCase } from './RankingUseCase';
describe('GetProfileOverviewUseCase', () => {
let useCase: GetProfileOverviewUseCase;

View File

@@ -1,15 +1,15 @@
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { TeamRepository } from '../../domain/repositories/TeamRepository';
import type { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import type { SocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
import type { DriverExtendedProfileProvider } from '../ports/DriverExtendedProfileProvider';
import type { DriverStatsUseCase, DriverStats } from './DriverStatsUseCase';
import type { RankingUseCase, DriverRanking } from './RankingUseCase';
import type { Driver } from '../../domain/entities/Driver';
import type { Team } from '../../domain/entities/Team';
import type { TeamMembership } from '../../domain/types/TeamMembership';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { SocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
import type { Driver } from '../../domain/entities/Driver';
import type { Team } from '../../domain/entities/Team';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { TeamMembershipRepository } from '../../domain/repositories/TeamMembershipRepository';
import type { TeamRepository } from '../../domain/repositories/TeamRepository';
import type { TeamMembership } from '../../domain/types/TeamMembership';
import type { DriverExtendedProfileProvider } from '../ports/DriverExtendedProfileProvider';
import type { DriverStats, DriverStatsUseCase } from './DriverStatsUseCase';
import type { DriverRanking, RankingUseCase } from './RankingUseCase';
export type GetProfileOverviewInput = {
driverId: string;
};

View File

@@ -1,17 +1,17 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetRaceDetailUseCase,
type GetRaceDetailInput,
type GetRaceDetailErrorCode,
} from './GetRaceDetailUseCase';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Race } from '../../domain/entities/Race';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueMembershipRepository } from '../../domain/repositories/LeagueMembershipRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import {
GetRaceDetailUseCase,
type GetRaceDetailErrorCode,
type GetRaceDetailInput,
} from './GetRaceDetailUseCase';
describe('GetRaceDetailUseCase', () => {
let useCase: GetRaceDetailUseCase;

View File

@@ -1,12 +1,12 @@
import { describe, it, expect, beforeEach, vi, Mock } from 'vitest';
import {
GetRacePenaltiesUseCase,
type GetRacePenaltiesInput,
type GetRacePenaltiesErrorCode,
} from './GetRacePenaltiesUseCase';
import type { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import {
GetRacePenaltiesUseCase,
type GetRacePenaltiesErrorCode,
type GetRacePenaltiesInput,
} from './GetRacePenaltiesUseCase';
describe('GetRacePenaltiesUseCase', () => {
let useCase: GetRacePenaltiesUseCase;

View File

@@ -5,12 +5,12 @@
* Orchestrates domain logic and delegates presentation to the presenter.
*/
import type { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Driver } from '../../domain/entities/Driver';
import type { Penalty } from '../../domain/entities/penalty/Penalty';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
export type GetRacePenaltiesInput = {
raceId: string;

View File

@@ -1,15 +1,15 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetRaceProtestsUseCase,
type GetRaceProtestsInput,
type GetRaceProtestsErrorCode,
} from './GetRaceProtestsUseCase';
import { Protest } from '../../domain/entities/Protest';
import { Driver } from '../../domain/entities/Driver';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Driver } from '../../domain/entities/Driver';
import { Protest } from '../../domain/entities/Protest';
import {
GetRaceProtestsUseCase,
type GetRaceProtestsErrorCode,
type GetRaceProtestsInput,
} from './GetRaceProtestsUseCase';
import type { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { ProtestRepository } from '../../domain/repositories/ProtestRepository';
describe('GetRaceProtestsUseCase', () => {
let useCase: GetRaceProtestsUseCase;

View File

@@ -5,12 +5,12 @@
* Orchestrates domain logic and delegates presentation to the presenter.
*/
import type { ProtestRepository } from '../../domain/repositories/ProtestRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { Protest } from '../../domain/entities/Protest';
import type { Driver } from '../../domain/entities/Driver';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Driver } from '../../domain/entities/Driver';
import type { Protest } from '../../domain/entities/Protest';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { ProtestRepository } from '../../domain/repositories/ProtestRepository';
export interface GetRaceProtestsInput {
raceId: string;

View File

@@ -1,14 +1,14 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetRaceRegistrationsUseCase,
type GetRaceRegistrationsInput,
type GetRaceRegistrationsErrorCode,
} from './GetRaceRegistrationsUseCase';
import { RaceRegistration } from '@core/racing/domain/entities/RaceRegistration';
import { Race } from '@core/racing/domain/entities/Race';
import { RaceRegistration } from '@core/racing/domain/entities/RaceRegistration';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import {
GetRaceRegistrationsUseCase,
type GetRaceRegistrationsErrorCode,
type GetRaceRegistrationsInput,
} from './GetRaceRegistrationsUseCase';
describe('GetRaceRegistrationsUseCase', () => {
let useCase: GetRaceRegistrationsUseCase;

View File

@@ -1,7 +1,7 @@
import type { Race } from '@core/racing/domain/entities/Race';
import type { RaceRegistration } from '@core/racing/domain/entities/RaceRegistration';
import type { RaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
import type { RaceRepository } from '@core/racing/domain/repositories/RaceRepository';
import type { RaceRegistration } from '@core/racing/domain/entities/RaceRegistration';
import type { Race } from '@core/racing/domain/entities/Race';
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';

View File

@@ -1,15 +1,15 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetRaceResultsDetailUseCase,
type GetRaceResultsDetailInput,
type GetRaceResultsDetailErrorCode,
} from './GetRaceResultsDetailUseCase';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import {
GetRaceResultsDetailUseCase,
type GetRaceResultsDetailErrorCode,
type GetRaceResultsDetailInput,
} from './GetRaceResultsDetailUseCase';
describe('GetRaceResultsDetailUseCase', () => {
let useCase: GetRaceResultsDetailUseCase;

View File

@@ -1,15 +1,15 @@
import { Result } from '@core/shared/domain/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import type { Driver } from '../../domain/entities/Driver';
import type { League } from '../../domain/entities/League';
import type { Race } from '../../domain/entities/Race';
import type { Penalty } from '../../domain/entities/penalty/Penalty';
import type { Result as DomainResult } from '../../domain/entities/result/Result';
import type { DriverRepository } from '../../domain/repositories/DriverRepository';
import type { LeagueRepository } from '../../domain/repositories/LeagueRepository';
import type { PenaltyRepository } from '../../domain/repositories/PenaltyRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
export type GetRaceResultsDetailInput = {
raceId: string;

View File

@@ -1,15 +1,15 @@
import { describe, it, expect, beforeEach, vi, type Mock } from 'vitest';
import {
GetRaceWithSOFUseCase,
type GetRaceWithSOFInput,
type GetRaceWithSOFErrorCode,
} from './GetRaceWithSOFUseCase';
import { Race } from '../../domain/entities/Race';
import { SessionType } from '../../domain/value-objects/SessionType';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
import { Race } from '../../domain/entities/Race';
import type { RaceRegistrationRepository } from '../../domain/repositories/RaceRegistrationRepository';
import type { RaceRepository } from '../../domain/repositories/RaceRepository';
import type { ResultRepository } from '../../domain/repositories/ResultRepository';
import { SessionType } from '../../domain/value-objects/SessionType';
import {
GetRaceWithSOFUseCase,
type GetRaceWithSOFErrorCode,
type GetRaceWithSOFInput,
} from './GetRaceWithSOFUseCase';
describe('GetRaceWithSOFUseCase', () => {
let useCase: GetRaceWithSOFUseCase;

Some files were not shown because too many files have changed in this diff Show More