Skip to content

Commit

Permalink
Merge pull request #92 from devamitranjan/FIX#86
Browse files Browse the repository at this point in the history
fix: added unit test case for permission deleteone api
  • Loading branch information
marrouchi authored Sep 26, 2024
2 parents 9d2b6d5 + b314ddb commit d47deeb
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions api/src/user/repositories/permission.repository.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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({
Expand All @@ -59,6 +60,9 @@ describe('PermissionRepository', () => {
permission = await permissionRepository.findOne({
action: Action.CREATE,
});
permissionToDelete = await permissionRepository.findOne({
action: Action.UPDATE,
});
});

afterAll(async () => {
Expand Down Expand Up @@ -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,
});
});
});
});

0 comments on commit d47deeb

Please sign in to comment.