mirror of
https://github.com/hexastack/hexabot
synced 2025-06-26 18:27:28 +00:00
fix: update unit tests
This commit is contained in:
@@ -23,7 +23,7 @@ import {
|
||||
rootMongooseTestModule,
|
||||
} from '@/utils/test/test';
|
||||
|
||||
import { InvitationModel, Invitation } from '../schemas/invitation.schema';
|
||||
import { Invitation, InvitationModel } from '../schemas/invitation.schema';
|
||||
import { PermissionModel } from '../schemas/permission.schema';
|
||||
import { RoleModel } from '../schemas/role.schema';
|
||||
|
||||
@@ -81,7 +81,10 @@ describe('InvitationRepository', () => {
|
||||
const result = await invitationRepository.findOneAndPopulate(
|
||||
invitation.id,
|
||||
);
|
||||
expect(invitationModel.findById).toHaveBeenCalledWith(invitation.id);
|
||||
expect(invitationModel.findById).toHaveBeenCalledWith(
|
||||
invitation.id,
|
||||
undefined,
|
||||
);
|
||||
expect(result).toEqualPayload({
|
||||
...toTestAgainst,
|
||||
roles,
|
||||
@@ -110,7 +113,7 @@ describe('InvitationRepository', () => {
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
expect(invitationModel.find).toHaveBeenCalledWith({});
|
||||
expect(invitationModel.find).toHaveBeenCalledWith({}, undefined);
|
||||
expect(result).toEqualPayload(invitationsWithRoles);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -56,7 +56,7 @@ describe('ModelRepository', () => {
|
||||
it('should find a model and populate its permissions', async () => {
|
||||
jest.spyOn(modelModel, 'findById');
|
||||
const result = await modelRepository.findOneAndPopulate(model.id);
|
||||
expect(modelModel.findById).toHaveBeenCalledWith(model.id);
|
||||
expect(modelModel.findById).toHaveBeenCalledWith(model.id, undefined);
|
||||
expect(result).toEqualPayload({
|
||||
...modelFixtures.find(({ name }) => name === 'ContentType'),
|
||||
permissions,
|
||||
@@ -79,7 +79,7 @@ describe('ModelRepository', () => {
|
||||
});
|
||||
return acc;
|
||||
}, []);
|
||||
expect(modelModel.find).toHaveBeenCalledWith({});
|
||||
expect(modelModel.find).toHaveBeenCalledWith({}, undefined);
|
||||
expect(result).toEqualPayload(modelsWithPermissions);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -24,7 +24,7 @@ import { ModelRepository } from '../repositories/model.repository';
|
||||
import { PermissionRepository } from '../repositories/permission.repository';
|
||||
import { RoleRepository } from '../repositories/role.repository';
|
||||
import { ModelModel } from '../schemas/model.schema';
|
||||
import { PermissionModel, Permission } from '../schemas/permission.schema';
|
||||
import { Permission, PermissionModel } from '../schemas/permission.schema';
|
||||
import { RoleModel } from '../schemas/role.schema';
|
||||
import { Action } from '../types/action.type';
|
||||
|
||||
@@ -77,8 +77,12 @@ describe('PermissionRepository', () => {
|
||||
const model = await modelRepository.findOne(permission.model);
|
||||
const result = await permissionRepository.findOneAndPopulate(
|
||||
permission.id,
|
||||
undefined,
|
||||
);
|
||||
expect(permissionModel.findById).toHaveBeenCalledWith(
|
||||
permission.id,
|
||||
undefined,
|
||||
);
|
||||
expect(permissionModel.findById).toHaveBeenCalledWith(permission.id);
|
||||
expect(result).toEqualPayload({
|
||||
...permissionFixtures.find(({ action }) => action === 'create'),
|
||||
role,
|
||||
@@ -111,7 +115,7 @@ describe('PermissionRepository', () => {
|
||||
},
|
||||
[],
|
||||
);
|
||||
expect(permissionModel.find).toHaveBeenCalledWith({});
|
||||
expect(permissionModel.find).toHaveBeenCalledWith({}, undefined);
|
||||
expect(result).toEqualPayload(permissionsWithRolesAndModels);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -74,7 +74,7 @@ describe('RoleRepository', () => {
|
||||
jest.spyOn(roleModel, 'findById');
|
||||
const permissions = await permissionRepository.find({ role: role.id });
|
||||
const result = await roleRepository.findOneAndPopulate(role.id);
|
||||
expect(roleModel.findById).toHaveBeenCalledWith(role.id);
|
||||
expect(roleModel.findById).toHaveBeenCalledWith(role.id, undefined);
|
||||
expect(result).toEqualPayload({
|
||||
...roleFixtures.find(({ name }) => name === 'admin'),
|
||||
users,
|
||||
@@ -106,7 +106,7 @@ describe('RoleRepository', () => {
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
expect(roleModel.find).toHaveBeenCalledWith({});
|
||||
expect(roleModel.find).toHaveBeenCalledWith({}, undefined);
|
||||
expect(result).toEqualPayload(rolesWithPermissionsAndUsers);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -27,8 +27,8 @@ import { PermissionRepository } from '../repositories/permission.repository';
|
||||
import { RoleRepository } from '../repositories/role.repository';
|
||||
import { UserRepository } from '../repositories/user.repository';
|
||||
import { PermissionModel } from '../schemas/permission.schema';
|
||||
import { RoleModel, Role } from '../schemas/role.schema';
|
||||
import { UserModel, User } from '../schemas/user.schema';
|
||||
import { Role, RoleModel } from '../schemas/role.schema';
|
||||
import { User, UserModel } from '../schemas/user.schema';
|
||||
|
||||
describe('UserRepository', () => {
|
||||
let roleRepository: RoleRepository;
|
||||
@@ -91,7 +91,7 @@ describe('UserRepository', () => {
|
||||
it('should find one user and populate its role', async () => {
|
||||
jest.spyOn(userModel, 'findById');
|
||||
const result = await userRepository.findOneAndPopulate(user.id);
|
||||
expect(userModel.findById).toHaveBeenCalledWith(user.id);
|
||||
expect(userModel.findById).toHaveBeenCalledWith(user.id, undefined);
|
||||
expect(result).toEqualPayload(
|
||||
{
|
||||
...userFixtures.find(({ username }) => username === 'admin'),
|
||||
@@ -118,7 +118,7 @@ describe('UserRepository', () => {
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
expect(userModel.find).toHaveBeenCalledWith({});
|
||||
expect(userModel.find).toHaveBeenCalledWith({}, undefined);
|
||||
expect(result).toEqualPayload(usersWithRoles);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -77,7 +77,11 @@ describe('AuthService', () => {
|
||||
'admin@admin.admin',
|
||||
'adminadmin',
|
||||
);
|
||||
expect(userRepository.findOne).toHaveBeenCalledWith(searchCriteria, {});
|
||||
expect(userRepository.findOne).toHaveBeenCalledWith(
|
||||
searchCriteria,
|
||||
{},
|
||||
undefined,
|
||||
);
|
||||
expect(result.id).toBe(user.id);
|
||||
});
|
||||
it('should not validate user if the provided password is incorrect', async () => {
|
||||
@@ -85,7 +89,11 @@ describe('AuthService', () => {
|
||||
'admin@admin.admin',
|
||||
'randomPassword',
|
||||
);
|
||||
expect(userRepository.findOne).toHaveBeenCalledWith(searchCriteria, {});
|
||||
expect(userRepository.findOne).toHaveBeenCalledWith(
|
||||
searchCriteria,
|
||||
{},
|
||||
undefined,
|
||||
);
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
@@ -99,6 +107,7 @@ describe('AuthService', () => {
|
||||
email: 'admin2@admin.admin',
|
||||
},
|
||||
{},
|
||||
undefined,
|
||||
);
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
@@ -19,8 +19,8 @@ import {
|
||||
|
||||
import { ModelRepository } from '../repositories/model.repository';
|
||||
import { PermissionRepository } from '../repositories/permission.repository';
|
||||
import { ModelModel, Model } from '../schemas/model.schema';
|
||||
import { PermissionModel, Permission } from '../schemas/permission.schema';
|
||||
import { Model, ModelModel } from '../schemas/model.schema';
|
||||
import { Permission, PermissionModel } from '../schemas/permission.schema';
|
||||
|
||||
import { ModelService } from './model.service';
|
||||
|
||||
@@ -83,6 +83,7 @@ describe('ModelService', () => {
|
||||
expect(modelRepository.findAndPopulate).toHaveBeenCalledWith(
|
||||
{},
|
||||
undefined,
|
||||
undefined,
|
||||
);
|
||||
expect(result).toEqualPayload(modelsWithPermissions);
|
||||
});
|
||||
|
||||
@@ -26,9 +26,9 @@ import { PermissionRepository } from '../repositories/permission.repository';
|
||||
import { RoleRepository } from '../repositories/role.repository';
|
||||
import { ModelModel } from '../schemas/model.schema';
|
||||
import {
|
||||
PermissionModel,
|
||||
Permission,
|
||||
PermissionFull,
|
||||
PermissionModel,
|
||||
} from '../schemas/permission.schema';
|
||||
import { RoleModel } from '../schemas/role.schema';
|
||||
import { Action } from '../types/action.type';
|
||||
@@ -89,6 +89,7 @@ describe('PermissionService', () => {
|
||||
const result = await permissionService.findOneAndPopulate(permission.id);
|
||||
expect(permissionRepository.findOneAndPopulate).toHaveBeenLastCalledWith(
|
||||
permission.id,
|
||||
undefined,
|
||||
);
|
||||
expect(result).toEqualPayload({
|
||||
...permissionFixtures.find(({ action }) => action === 'create'),
|
||||
|
||||
@@ -20,9 +20,9 @@ import {
|
||||
import { PermissionRepository } from '../repositories/permission.repository';
|
||||
import { RoleRepository } from '../repositories/role.repository';
|
||||
import { UserRepository } from '../repositories/user.repository';
|
||||
import { PermissionModel, Permission } from '../schemas/permission.schema';
|
||||
import { RoleModel, Role } from '../schemas/role.schema';
|
||||
import { UserModel, User } from '../schemas/user.schema';
|
||||
import { Permission, PermissionModel } from '../schemas/permission.schema';
|
||||
import { Role, RoleModel } from '../schemas/role.schema';
|
||||
import { User, UserModel } from '../schemas/user.schema';
|
||||
|
||||
import { roleFixtures } from './../../utils/test/fixtures/role';
|
||||
import { RoleService } from './role.service';
|
||||
@@ -72,8 +72,11 @@ describe('RoleService', () => {
|
||||
describe('findOneAndPopulate', () => {
|
||||
it('should find one role and populate its permissions and users', async () => {
|
||||
jest.spyOn(roleRepository, 'findOneAndPopulate');
|
||||
const result = await roleService.findOneAndPopulate(role.id);
|
||||
expect(roleRepository.findOneAndPopulate).toHaveBeenCalledWith(role.id);
|
||||
const result = await roleService.findOneAndPopulate(role.id, undefined);
|
||||
expect(roleRepository.findOneAndPopulate).toHaveBeenCalledWith(
|
||||
role.id,
|
||||
undefined,
|
||||
);
|
||||
expect(result).toEqualPayload({
|
||||
...roleFixtures.find(({ name }) => name == 'admin'),
|
||||
users,
|
||||
|
||||
@@ -28,8 +28,8 @@ import { PermissionRepository } from '../repositories/permission.repository';
|
||||
import { RoleRepository } from '../repositories/role.repository';
|
||||
import { UserRepository } from '../repositories/user.repository';
|
||||
import { PermissionModel } from '../schemas/permission.schema';
|
||||
import { RoleModel, Role } from '../schemas/role.schema';
|
||||
import { UserModel, User } from '../schemas/user.schema';
|
||||
import { Role, RoleModel } from '../schemas/role.schema';
|
||||
import { User, UserModel } from '../schemas/user.schema';
|
||||
|
||||
import { PermissionService } from './permission.service';
|
||||
import { RoleService } from './role.service';
|
||||
@@ -100,7 +100,10 @@ describe('UserService', () => {
|
||||
it('should find one user and populate its role', async () => {
|
||||
jest.spyOn(userRepository, 'findOneAndPopulate');
|
||||
const result = await userService.findOneAndPopulate(user.id);
|
||||
expect(userRepository.findOneAndPopulate).toHaveBeenCalledWith(user.id);
|
||||
expect(userRepository.findOneAndPopulate).toHaveBeenCalledWith(
|
||||
user.id,
|
||||
undefined,
|
||||
);
|
||||
expect(result).toEqualPayload(
|
||||
{
|
||||
...userFixtures.find(({ username }) => username === 'admin'),
|
||||
|
||||
Reference in New Issue
Block a user