@tomei/sso
Version:
Tomei SSO Package
89 lines (76 loc) • 4.07 kB
text/typescript
import { GroupObjectPrivilegeRepository } from '../../../../src/components/group-object-privilege/group-object-privilege.repository';
import { GroupObjectPrivilege } from '../../../../src/components/group-object-privilege/group-object-privilege';
describe('GroupObjectPrivilege', () => {
let groupObjectPrivilege: GroupObjectPrivilege;
beforeEach(() => {
groupObjectPrivilege = new GroupObjectPrivilege();
});
it('should create an instance of GroupObjectPrivilege', () => {
expect(groupObjectPrivilege).toBeInstanceOf(GroupObjectPrivilege);
});
it('should have the correct TableName', () => {
expect(groupObjectPrivilege.TableName).toBe('sso_GroupObjectPrivilege');
});
it('should have the correct properties', () => {
expect(groupObjectPrivilege.ObjectName).toBeUndefined();
expect(groupObjectPrivilege.GroupObjectPrivilegeId).toBeUndefined();
expect(groupObjectPrivilege.GroupCode).toBeUndefined();
expect(groupObjectPrivilege.SystemPrivilegeId).toBeUndefined();
expect(groupObjectPrivilege.ObjectId).toBeUndefined();
expect(groupObjectPrivilege.ObjectType).toBeUndefined();
expect(groupObjectPrivilege.CreatedAt).toBeUndefined();
expect(groupObjectPrivilege.UpdatedAt).toBeUndefined();
expect(groupObjectPrivilege.CreatedById).toBeUndefined();
expect(groupObjectPrivilege.UpdatedById).toBeUndefined();
});
describe('init', () => {
it('should return an instance of GroupObjectPrivilege when GroupObjectPrivilegeId is provided', async () => {
const GroupObjectPrivilegeId = 1;
const mockGroupObjectPrivilegeAttr = {
GroupObjectPrivilegeId,
GroupCode: 'groupCode',
SystemPrivilegeId: 'SystemPrivilegeId',
ObjectId: 'objectId',
ObjectType: 'objectType',
CreatedAt: new Date(),
UpdatedAt: new Date(),
CreatedById: 1,
UpdatedById: 2,
};
jest.spyOn(GroupObjectPrivilegeRepository.prototype, 'findOne').mockResolvedValueOnce({
get: () => mockGroupObjectPrivilegeAttr,
} as any);
const result = await GroupObjectPrivilege.init(null, GroupObjectPrivilegeId);
expect(result).toBeInstanceOf(GroupObjectPrivilege);
expect(result.GroupObjectPrivilegeId).toBe(GroupObjectPrivilegeId);
expect(result.GroupCode).toBe(mockGroupObjectPrivilegeAttr.GroupCode);
expect(result.SystemPrivilegeId).toBe(mockGroupObjectPrivilegeAttr.SystemPrivilegeId);
expect(result.ObjectId).toBe(mockGroupObjectPrivilegeAttr.ObjectId);
expect(result.ObjectType).toBe(mockGroupObjectPrivilegeAttr.ObjectType);
expect(result.CreatedAt).toBe(mockGroupObjectPrivilegeAttr.CreatedAt);
expect(result.UpdatedAt).toBe(mockGroupObjectPrivilegeAttr.UpdatedAt);
expect(result.CreatedById).toBe(mockGroupObjectPrivilegeAttr.CreatedById);
expect(result.UpdatedById).toBe(mockGroupObjectPrivilegeAttr.UpdatedById);
});
it('should throw an error when GroupObjectPrivilegeId is provided but no GroupObjectPrivilege is found', async () => {
const GroupObjectPrivilegeId = 1;
jest.spyOn(GroupObjectPrivilegeRepository.prototype, 'findOne').mockResolvedValueOnce(null);
await expect(GroupObjectPrivilege.init(null, GroupObjectPrivilegeId)).rejects.toThrowError(
'GroupObjectPrivilege not found',
);
});
it('should return a new instance of GroupObjectPrivilege when GroupObjectPrivilegeId is not provided', async () => {
const result = await GroupObjectPrivilege.init();
expect(result).toBeInstanceOf(GroupObjectPrivilege);
expect(result.GroupObjectPrivilegeId).toBeUndefined();
expect(result.GroupCode).toBeUndefined();
expect(result.SystemPrivilegeId).toBeUndefined();
expect(result.ObjectId).toBeUndefined();
expect(result.ObjectType).toBeUndefined();
expect(result.CreatedAt).toBeUndefined();
expect(result.UpdatedAt).toBeUndefined();
expect(result.CreatedById).toBeUndefined();
expect(result.UpdatedById).toBeUndefined();
});
});
});