1
0
Fork 0
mirror of synced 2024-07-01 20:41:03 +12:00

Test fixes, as well as issue discovered by test around _id generation and event triggering.

This commit is contained in:
mike12345567 2023-06-26 19:10:04 +01:00
parent 8882801315
commit 7e79c827a7
3 changed files with 19 additions and 8 deletions

View file

@ -55,11 +55,19 @@ export async function save(ctx: UserCtx) {
const db = context.getAppDB()
let { _id, name, inherits, permissionId, version } = ctx.request.body
let isCreate = false
if (!_id || version === roles.RoleVersion.VERSION_2) {
if (_id && roles.isBuiltin(_id)) {
ctx.throw(400, "Cannot update builtin roles.")
}
// if not id found, then its creation
if (!_id) {
_id = generateRoleID(name)
isCreate = true
} else if (roles.isBuiltin(_id)) {
ctx.throw(400, "Cannot update builtin roles.")
}
// version 2 roles need updated to add back role_
else if (version === roles.RoleVersion.VERSION_2) {
_id = generateRoleID(name)
}
const role = new roles.Role(_id, name, permissionId).addInheritance(inherits)

View file

@ -29,10 +29,11 @@ describe("/roles", () => {
describe("create", () => {
it("returns a success message when role is successfully created", async () => {
const res = await createRole()
const role = basicRole()
const res = await createRole(role)
expect(res.res.statusMessage).toEqual(
"Role 'NewRole' created successfully."
`Role '${role.name}' created successfully.`
)
expect(res.body._id).toBeDefined()
expect(res.body._rev).toBeDefined()
@ -44,12 +45,13 @@ describe("/roles", () => {
describe("update", () => {
it("updates a role", async () => {
let res = await createRole()
const role = basicRole()
let res = await createRole(role)
jest.clearAllMocks()
res = await createRole(res.body)
expect(res.res.statusMessage).toEqual(
"Role 'NewRole' created successfully."
`Role '${role.name}' created successfully.`
)
expect(res.body._id).toBeDefined()
expect(res.body._rev).toBeDefined()
@ -86,7 +88,7 @@ describe("/roles", () => {
expect(powerUserRole.inherits).toEqual(BUILTIN_ROLE_IDS.BASIC)
expect(powerUserRole.permissionId).toEqual(BuiltinPermissionID.POWER)
const customRoleFetched = res.body.find(r => r._id === customRole._id)
const customRoleFetched = res.body.find(r => r._id === customRole.name)
expect(customRoleFetched).toBeDefined()
expect(customRoleFetched.inherits).toEqual(BUILTIN_ROLE_IDS.BASIC)
expect(customRoleFetched.permissionId).toEqual(

View file

@ -266,6 +266,7 @@ export function basicRole() {
name: `NewRole_${utils.newid()}`,
inherits: roles.BUILTIN_ROLE_IDS.BASIC,
permissionId: permissions.BuiltinPermissionID.READ_ONLY,
version: 2,
}
}