mirror of
https://github.com/hexastack/hexabot
synced 2025-06-26 18:27:28 +00:00
fix: added unit test case for permission deleteone api
This commit is contained in:
parent
9d2b6d57a4
commit
b314ddb77e
@ -35,6 +35,7 @@ describe('PermissionRepository', () => {
|
||||
let permissionRepository: PermissionRepository;
|
||||
let permissionModel: Model<Permission>;
|
||||
let permission: Permission;
|
||||
let permissionToDelete: Permission;
|
||||
|
||||
beforeAll(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
@ -59,6 +60,9 @@ describe('PermissionRepository', () => {
|
||||
permission = await permissionRepository.findOne({
|
||||
action: Action.CREATE,
|
||||
});
|
||||
permissionToDelete = await permissionRepository.findOne({
|
||||
action: Action.UPDATE,
|
||||
});
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
@ -112,4 +116,36 @@ describe('PermissionRepository', () => {
|
||||
expect(result).toEqualPayload(permissionsWithRolesAndModels);
|
||||
});
|
||||
});
|
||||
|
||||
describe('deleteOne', () => {
|
||||
it('should delete a permission by id', async () => {
|
||||
jest.spyOn(permissionModel, 'deleteOne');
|
||||
const result = await permissionRepository.deleteOne(
|
||||
permissionToDelete.id,
|
||||
);
|
||||
|
||||
expect(permissionModel.deleteOne).toHaveBeenCalledWith({
|
||||
_id: permissionToDelete.id,
|
||||
});
|
||||
|
||||
expect(result).toEqual({
|
||||
acknowledged: true,
|
||||
deletedCount: 1,
|
||||
});
|
||||
|
||||
const permissions = await permissionRepository.find({
|
||||
role: permissionToDelete.id,
|
||||
});
|
||||
expect(permissions.length).toEqual(0);
|
||||
});
|
||||
|
||||
it('should fail to delete a permission that does not exist', async () => {
|
||||
expect(
|
||||
await permissionRepository.deleteOne(permissionToDelete.id),
|
||||
).toEqual({
|
||||
acknowledged: true,
|
||||
deletedCount: 0,
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user