优化
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
import { createPinia, setActivePinia } from 'pinia'
|
||||
import { beforeEach, describe, expect, it } from 'vitest'
|
||||
import { useAccessPreviewStore } from '@/core/access/accessPreview'
|
||||
import { isLocalFullAccessHost, useAccessPreviewStore } from '@/core/access/accessPreview'
|
||||
import { useAuthStore } from '@/core/auth/auth'
|
||||
|
||||
describe('server access store', () => {
|
||||
beforeEach(() => setActivePinia(createPinia()))
|
||||
beforeEach(() => {
|
||||
window.localStorage.clear()
|
||||
setActivePinia(createPinia())
|
||||
})
|
||||
|
||||
it('uses only the authenticated permission snapshot', () => {
|
||||
const auth = useAuthStore()
|
||||
@@ -24,4 +27,29 @@ describe('server access store', () => {
|
||||
expect(access.filteredNavigation).toHaveLength(1)
|
||||
expect(access.firstAccessiblePath).toBe('/dashboard')
|
||||
})
|
||||
|
||||
it('allows every frontend permission only while the localhost control is enabled', () => {
|
||||
const access = useAccessPreviewStore()
|
||||
|
||||
expect(access.localFullAccessAvailable).toBe(true)
|
||||
expect(access.can('platform:anything:create')).toBe(false)
|
||||
|
||||
access.setLocalFullAccessEnabled(true)
|
||||
|
||||
expect(access.can('platform:anything:create')).toBe(true)
|
||||
expect(access.permissionCodes.has('platform:anything:edit')).toBe(true)
|
||||
expect(access.filteredNavigation.length).toBeGreaterThan(1)
|
||||
expect(window.localStorage.getItem('baiyue-admin-local-full-access')).toBe('true')
|
||||
|
||||
access.setLocalFullAccessEnabled(false)
|
||||
expect(access.can('platform:anything:create')).toBe(false)
|
||||
expect(window.localStorage.getItem('baiyue-admin-local-full-access')).toBeNull()
|
||||
})
|
||||
|
||||
it('recognizes only local preview hosts', () => {
|
||||
expect(isLocalFullAccessHost('localhost')).toBe(true)
|
||||
expect(isLocalFullAccessHost('127.0.0.1')).toBe(true)
|
||||
expect(isLocalFullAccessHost('::1')).toBe(true)
|
||||
expect(isLocalFullAccessHost('admin.example.com')).toBe(false)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user