league service
This commit is contained in:
33
tests/application/GetTotalDriversUseCase.spec.ts
Normal file
33
tests/application/GetTotalDriversUseCase.spec.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
||||
import { GetTotalDriversUseCase } from '../../core/racing/application/use-cases/GetTotalDriversUseCase';
|
||||
import { IDriverRepository } from '../../core/racing/domain/repositories/IDriverRepository';
|
||||
import { DriverStatsPresenter } from '../../apps/api/src/modules/driver/presenters/DriverStatsPresenter';
|
||||
|
||||
describe('GetTotalDriversUseCase', () => {
|
||||
let useCase: GetTotalDriversUseCase;
|
||||
let driverRepository: { findAll: any };
|
||||
|
||||
beforeEach(() => {
|
||||
driverRepository = {
|
||||
findAll: vi.fn(),
|
||||
};
|
||||
useCase = new GetTotalDriversUseCase(driverRepository as IDriverRepository);
|
||||
});
|
||||
|
||||
it('should return total drivers count', async () => {
|
||||
// Arrange
|
||||
const mockDrivers = [
|
||||
{ id: '1', name: 'Driver 1' },
|
||||
{ id: '2', name: 'Driver 2' },
|
||||
];
|
||||
driverRepository.findAll.mockResolvedValue(mockDrivers);
|
||||
const presenter = new DriverStatsPresenter();
|
||||
|
||||
// Act
|
||||
await useCase.execute(undefined, presenter);
|
||||
|
||||
// Assert
|
||||
expect(driverRepository.findAll).toHaveBeenCalled();
|
||||
expect(presenter.viewModel).toEqual({ totalDrivers: 2 });
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user