admin-vben5/packages/stores/src/modules/access.test.ts

47 lines
1.4 KiB
TypeScript
Raw Normal View History

2024-05-19 21:20:42 +08:00
import { createPinia, setActivePinia } from 'pinia';
2024-06-02 15:04:37 +08:00
import { beforeEach, describe, expect, it } from 'vitest';
2024-05-19 21:20:42 +08:00
2024-07-30 21:10:28 +08:00
import { useAccessStore } from './access';
2024-05-19 21:20:42 +08:00
2024-07-30 21:10:28 +08:00
describe('useAccessStore', () => {
2024-06-02 15:04:37 +08:00
beforeEach(() => {
2024-05-19 21:20:42 +08:00
setActivePinia(createPinia());
2024-06-02 15:04:37 +08:00
});
it('updates accessMenus state', () => {
2024-07-30 21:10:28 +08:00
const store = useAccessStore();
2024-06-02 15:04:37 +08:00
expect(store.accessMenus).toEqual([]);
store.setAccessMenus([{ name: 'Dashboard', path: '/dashboard' }]);
expect(store.accessMenus).toEqual([
{ name: 'Dashboard', path: '/dashboard' },
]);
});
it('updates accessToken state correctly', () => {
2024-07-30 21:10:28 +08:00
const store = useAccessStore();
2024-06-02 15:04:37 +08:00
expect(store.accessToken).toBeNull(); // 初始状态
store.setAccessToken('abc123');
expect(store.accessToken).toBe('abc123');
});
it('returns the correct accessToken', () => {
2024-07-30 21:10:28 +08:00
const store = useAccessStore();
2024-06-02 15:04:37 +08:00
store.setAccessToken('xyz789');
2024-07-10 00:50:41 +08:00
expect(store.accessToken).toBe('xyz789');
2024-06-02 15:04:37 +08:00
});
// 测试设置空的访问菜单列表
it('handles empty accessMenus correctly', () => {
2024-07-30 21:10:28 +08:00
const store = useAccessStore();
2024-06-02 15:04:37 +08:00
store.setAccessMenus([]);
expect(store.accessMenus).toEqual([]);
});
2024-05-19 21:20:42 +08:00
2024-06-02 15:04:37 +08:00
// 测试设置空的访问路由列表
it('handles empty accessRoutes correctly', () => {
2024-07-30 21:10:28 +08:00
const store = useAccessStore();
2024-06-02 15:04:37 +08:00
store.setAccessRoutes([]);
expect(store.accessRoutes).toEqual([]);
2024-05-19 21:20:42 +08:00
});
});