Files
FastGPT/test/cases/global/support/permission/common.test.ts
Finley Ge 57e1ef1176 refactor: permission role & app read chat log permission (#5416)
* 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
2025-08-11 10:51:44 +08:00

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);
});
});