resolve todos in website
This commit is contained in:
@@ -1,26 +1,36 @@
|
||||
import { RejectLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/RejectLeagueJoinRequestUseCase';
|
||||
import { RejectLeagueJoinRequestPresenter } from '@apps/api/src/modules/league/presenters/RejectLeagueJoinRequestPresenter';
|
||||
import { describe, it, expect, vi, type Mock } from 'vitest';
|
||||
import { RejectLeagueJoinRequestUseCase, type RejectLeagueJoinRequestUseCaseParams } from './RejectLeagueJoinRequestUseCase';
|
||||
import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository';
|
||||
|
||||
interface LeagueMembershipRepositoryMock {
|
||||
removeJoinRequest: Mock;
|
||||
}
|
||||
|
||||
describe('RejectLeagueJoinRequestUseCase', () => {
|
||||
let leagueMembershipRepository: LeagueMembershipRepositoryMock;
|
||||
let useCase: RejectLeagueJoinRequestUseCase;
|
||||
let leagueMembershipRepository: jest.Mocked<ILeagueMembershipRepository>;
|
||||
let presenter: RejectLeagueJoinRequestPresenter;
|
||||
|
||||
beforeEach(() => {
|
||||
leagueMembershipRepository = {
|
||||
removeJoinRequest: jest.fn(),
|
||||
} as unknown;
|
||||
presenter = new RejectLeagueJoinRequestPresenter();
|
||||
useCase = new RejectLeagueJoinRequestUseCase(leagueMembershipRepository);
|
||||
removeJoinRequest: vi.fn(),
|
||||
} as unknown as ILeagueMembershipRepository as any;
|
||||
|
||||
useCase = new RejectLeagueJoinRequestUseCase(
|
||||
leagueMembershipRepository as unknown as ILeagueMembershipRepository,
|
||||
);
|
||||
});
|
||||
|
||||
it('should reject join request', async () => {
|
||||
const requestId = 'req-1';
|
||||
it('removes the join request and returns success output', async () => {
|
||||
const params: RejectLeagueJoinRequestUseCaseParams = {
|
||||
requestId: 'req-1',
|
||||
};
|
||||
|
||||
await useCase.execute({ requestId }, presenter);
|
||||
(leagueMembershipRepository.removeJoinRequest as Mock).mockResolvedValue(undefined);
|
||||
|
||||
expect(leagueMembershipRepository.removeJoinRequest).toHaveBeenCalledWith(requestId);
|
||||
expect(presenter.viewModel).toEqual({ success: true, message: 'Join request rejected.' });
|
||||
const result = await useCase.execute(params);
|
||||
|
||||
expect(leagueMembershipRepository.removeJoinRequest).toHaveBeenCalledWith('req-1');
|
||||
expect(result.isOk()).toBe(true);
|
||||
expect(result.unwrap()).toEqual({ success: true, message: 'Join request rejected.' });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user