module cleanup
This commit is contained in:
39
apps/api/src/domain/protests/ProtestsController.test.ts
Normal file
39
apps/api/src/domain/protests/ProtestsController.test.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { vi } from 'vitest';
|
||||
import { ProtestsController } from './ProtestsController';
|
||||
import { RaceService } from '../race/RaceService';
|
||||
import { ReviewProtestCommandDTO } from '../race/dtos/ReviewProtestCommandDTO';
|
||||
|
||||
describe('ProtestsController', () => {
|
||||
let controller: ProtestsController;
|
||||
let raceService: ReturnType<typeof vi.mocked<RaceService>>;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
controllers: [ProtestsController],
|
||||
providers: [
|
||||
{
|
||||
provide: RaceService,
|
||||
useValue: {
|
||||
reviewProtest: vi.fn(),
|
||||
},
|
||||
},
|
||||
],
|
||||
}).compile();
|
||||
|
||||
controller = module.get<ProtestsController>(ProtestsController);
|
||||
raceService = vi.mocked(module.get(RaceService));
|
||||
});
|
||||
|
||||
describe('reviewProtest', () => {
|
||||
it('should review protest', async () => {
|
||||
const protestId = 'protest-123';
|
||||
const body: Omit<ReviewProtestCommandDTO, 'protestId'> = { decision: 'upheld', reason: 'Reason' };
|
||||
raceService.reviewProtest.mockResolvedValue(undefined);
|
||||
|
||||
await controller.reviewProtest(protestId, body);
|
||||
|
||||
expect(raceService.reviewProtest).toHaveBeenCalledWith({ protestId, ...body });
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user