This commit is contained in:
2026-08-12 14:08:33 +08:00
parent 4fb8b85c13
commit 975e0057e3
20 changed files with 378 additions and 29 deletions
@@ -1,10 +1,14 @@
import { createPinia, setActivePinia } from 'pinia'
import { readFileSync } from 'node:fs'
import { resolve } from 'node:path'
import { flushPromises, shallowMount } from '@vue/test-utils'
import { beforeEach, describe, expect, it, vi } from 'vitest'
import { listPlatformPermissions, type PlatformPermissionResource } from '@/modules/iam/api/platformIam'
import { useAuthStore } from '@/core/auth/auth'
import PermissionsView from './PermissionsView.vue'
const permissionsSource = readFileSync(resolve(process.cwd(), 'src/modules/iam/pages/PermissionsView.vue'), 'utf8')
vi.mock('@/modules/iam/api/platformIam', () => ({
changePlatformPermissionStatus: vi.fn(),
createPlatformPermission: vi.fn(),
@@ -81,6 +85,12 @@ describe('PermissionsView IAM mode', () => {
vi.mocked(listPlatformPermissions).mockReset()
})
it('keeps technical permission fields out of the default list and labels the table', () => {
expect(permissionsSource).toContain("{ key: 'code', label: '权限编码', minWidth: 220, slotName: 'code', defaultVisible: false }")
expect(permissionsSource).toContain("{ key: 'endpoint', label: '路由 / 接口', minWidth: 260, slotName: 'endpoint', defaultVisible: false }")
expect(permissionsSource).toContain('aria-label="平台权限资源列表"')
})
it('loads the platform permission resource tree from IAM', async () => {
vi.mocked(listPlatformPermissions).mockResolvedValue([permission])