fix role permission API requests

This commit is contained in:
文睿 张 2026-09-17 00:06:27 +08:00
parent 1cc3584f1a
commit bb195610fd
2 changed files with 40 additions and 0 deletions

View File

@ -12,5 +12,11 @@ export const organizationsApi = {
},
listRoles() {
return request.get('/roles')
},
listPermissions() {
return request.get('/permissions')
},
updateRole(id, data) {
return request.put(`/roles/${id}`, data)
}
}

View File

@ -0,0 +1,34 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
import { organizationsApi } from './organizations'
const request = vi.hoisted(() => ({
get: vi.fn(),
put: vi.fn()
}))
vi.mock('./index', () => ({ default: request }))
describe('organizations API role permissions', () => {
beforeEach(() => {
vi.clearAllMocks()
})
it('loads the permission catalog from the permissions endpoint', async () => {
request.get.mockResolvedValue({ data: [{ code: 'inventory.read' }] })
const response = await organizationsApi.listPermissions()
expect(request.get).toHaveBeenCalledWith('/permissions')
expect(response).toEqual({ data: [{ code: 'inventory.read' }] })
})
it('updates a role through its role endpoint', async () => {
const payload = { name: '仓库管理员', enabled: true, permission_codes: ['inventory.read'] }
request.put.mockResolvedValue({ data: null })
const response = await organizationsApi.updateRole(3, payload)
expect(request.put).toHaveBeenCalledWith('/roles/3', payload)
expect(response).toEqual({ data: null })
})
})