refactor
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
import { describe, it, expect, beforeEach, vi, Mock } from 'vitest';
|
||||
import { CloseRaceEventStewardingUseCase } from './CloseRaceEventStewardingUseCase';
|
||||
import type { IRaceEventRepository } from '../../domain/repositories/IRaceEventRepository';
|
||||
import type { IDomainEventPublisher } from '@core/shared/domain/IDomainEvent';
|
||||
import type { IRaceRegistrationRepository } from '../../domain/repositories/IRaceRegistrationRepository';
|
||||
import type { IPenaltyRepository } from '../../domain/repositories/IPenaltyRepository';
|
||||
import type { DomainEventPublisher } from '@/shared/domain/DomainEvent';
|
||||
import type { Logger } from '@core/shared/application';
|
||||
import { RaceEvent } from '../../domain/entities/RaceEvent';
|
||||
import { Session } from '../../domain/entities/Session';
|
||||
import { SessionType } from '../../domain/value-objects/SessionType';
|
||||
import { RacingDomainValidationError } from '../../domain/errors/RacingDomainError';
|
||||
|
||||
describe('CloseRaceEventStewardingUseCase', () => {
|
||||
let useCase: CloseRaceEventStewardingUseCase;
|
||||
@@ -14,6 +15,12 @@ describe('CloseRaceEventStewardingUseCase', () => {
|
||||
findAwaitingStewardingClose: Mock;
|
||||
update: Mock;
|
||||
};
|
||||
let raceRegistrationRepository: {
|
||||
getRegisteredDrivers: Mock;
|
||||
};
|
||||
let penaltyRepository: {
|
||||
findByRaceId: Mock;
|
||||
};
|
||||
let domainEventPublisher: {
|
||||
publish: Mock;
|
||||
};
|
||||
@@ -26,6 +33,12 @@ describe('CloseRaceEventStewardingUseCase', () => {
|
||||
findAwaitingStewardingClose: vi.fn(),
|
||||
update: vi.fn(),
|
||||
};
|
||||
raceRegistrationRepository = {
|
||||
getRegisteredDrivers: vi.fn(),
|
||||
};
|
||||
penaltyRepository = {
|
||||
findByRaceId: vi.fn(),
|
||||
};
|
||||
domainEventPublisher = {
|
||||
publish: vi.fn(),
|
||||
};
|
||||
@@ -35,7 +48,9 @@ describe('CloseRaceEventStewardingUseCase', () => {
|
||||
useCase = new CloseRaceEventStewardingUseCase(
|
||||
logger as unknown as Logger,
|
||||
raceEventRepository as unknown as IRaceEventRepository,
|
||||
domainEventPublisher as unknown as IDomainEventPublisher,
|
||||
raceRegistrationRepository as unknown as IRaceRegistrationRepository,
|
||||
penaltyRepository as unknown as IPenaltyRepository,
|
||||
domainEventPublisher as unknown as DomainEventPublisher,
|
||||
);
|
||||
});
|
||||
|
||||
@@ -61,6 +76,8 @@ describe('CloseRaceEventStewardingUseCase', () => {
|
||||
});
|
||||
|
||||
raceEventRepository.findAwaitingStewardingClose.mockResolvedValue([raceEvent]);
|
||||
raceRegistrationRepository.getRegisteredDrivers.mockResolvedValue(['driver-1', 'driver-2']);
|
||||
penaltyRepository.findByRaceId.mockResolvedValue([]);
|
||||
domainEventPublisher.publish.mockResolvedValue(undefined);
|
||||
|
||||
const result = await useCase.execute({});
|
||||
@@ -89,6 +106,6 @@ describe('CloseRaceEventStewardingUseCase', () => {
|
||||
const result = await useCase.execute({});
|
||||
|
||||
expect(result.isErr()).toBe(true);
|
||||
expect(result.unwrapErr()).toBeInstanceOf(RacingDomainValidationError);
|
||||
expect(result.unwrapErr().code).toBe('FAILED_TO_CLOSE_STEWARDING');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user