mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-13 22:56:28 +00:00

* refactor: permission role * refactor: permission type * fix: permission manage * fix: group owner cannot be deleted * chore: common per map * chore: openapi * chore: rename * fix: type error * chore: app chat log permission * chore: add initv4112
29 lines
1.1 KiB
TypeScript
29 lines
1.1 KiB
TypeScript
import { CommonPerList, CommonRoleList } from '@fastgpt/global/support/permission/constant';
|
|
import { Permission } from '@fastgpt/global/support/permission/controller';
|
|
import { sumPer } from '@fastgpt/global/support/permission/utils';
|
|
import { describe, expect, it } from 'vitest';
|
|
describe('Permission Helper Class Test', () => {
|
|
it('Permission Helper Class Test', () => {
|
|
const permission = new Permission();
|
|
expect(permission.role).toBe(0);
|
|
|
|
permission.addRole(CommonRoleList.manage.value);
|
|
expect(permission.role).toBe(CommonRoleList.manage.value);
|
|
expect(permission.checkPer(CommonPerList.manage)).toBe(true);
|
|
|
|
permission.removeRole(CommonRoleList.read.value);
|
|
expect(permission.checkPer(CommonPerList.manage)).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe('Tool Functions', () => {
|
|
it('sumPer', () => {
|
|
expect(sumPer(0b001, 0b010)).toBe(0b011);
|
|
expect(sumPer(0b000, 0b000)).toBe(0b000);
|
|
expect(sumPer(0b100, 0b001)).toBe(0b101);
|
|
expect(sumPer(0b111, 0b010)).toBe(0b111);
|
|
expect(sumPer(sumPer(0b001, 0b010), 0b100)).toBe(0b111);
|
|
expect(sumPer(0b10000000, 0b01000000)).toBe(0b11000000);
|
|
});
|
|
});
|