delete authentication service tests

This commit is contained in:
sbriat 2023-07-07 10:11:15 +02:00
parent 39924d1257
commit e123f190c6
1 changed files with 54 additions and 0 deletions

View File

@ -0,0 +1,54 @@
import { AUTHENTICATION_REPOSITORY } from '@modules/authentication/authentication.di-tokens';
import { DeleteAuthenticationCommand } from '@modules/authentication/core/application/commands/delete-authentication/delete-authentication.command';
import { DeleteAuthenticationService } from '@modules/authentication/core/application/commands/delete-authentication/delete-authentication.service';
import { DeleteAuthenticationRequestDto } from '@modules/authentication/interface/grpc-controllers/dtos/delete-authentication.request.dto';
import { Test, TestingModule } from '@nestjs/testing';
const deleteAuthenticationRequest: DeleteAuthenticationRequestDto = {
userId: '165192d4-398a-4469-a16b-98c02cc6f531',
};
const mockAuthenticationEntity = {
delete: jest.fn(),
};
const mockAuthenticationRepository = {
findOneById: jest.fn().mockImplementation(() => mockAuthenticationEntity),
delete: jest.fn().mockImplementationOnce(() => true),
};
describe('Delete Authentication Service', () => {
let deleteAuthenticationService: DeleteAuthenticationService;
beforeAll(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [
{
provide: AUTHENTICATION_REPOSITORY,
useValue: mockAuthenticationRepository,
},
DeleteAuthenticationService,
],
}).compile();
deleteAuthenticationService = module.get<DeleteAuthenticationService>(
DeleteAuthenticationService,
);
});
it('should be defined', () => {
expect(deleteAuthenticationService).toBeDefined();
});
describe('execution', () => {
const deleteAuthenticationCommand = new DeleteAuthenticationCommand(
deleteAuthenticationRequest,
);
it('should delete an authentication', async () => {
const result: boolean = await deleteAuthenticationService.execute(
deleteAuthenticationCommand,
);
expect(result).toBeTruthy();
});
});
});