39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
/**
|
|
* Vitest browser-mode setup.
|
|
* Runs once before all tests.
|
|
*/
|
|
import { beforeAll, afterEach } from 'vitest';
|
|
import { useAppStore } from '../store/app/appStore';
|
|
import { usePermissionStore } from '../store/permission/permissionStore';
|
|
import { useSettingsStore } from '../store/settings/settingsStore';
|
|
import { useUserStore } from '../store/user/userStore';
|
|
|
|
// Base URL: the Vite dev server proxies /api → localhost:3003
|
|
const BASE = 'http://localhost:3002';
|
|
|
|
beforeAll(() => {
|
|
// Ensure we're running against the local dev server
|
|
console.log(`[setup] browser integration tests → ${BASE}`);
|
|
});
|
|
|
|
afterEach(() => {
|
|
// Clear localStorage between tests to avoid state leakage
|
|
// (only clear auth-related keys; keep other state if needed)
|
|
localStorage.removeItem('token');
|
|
localStorage.removeItem('user');
|
|
localStorage.removeItem('permissions');
|
|
useUserStore.getState().logout();
|
|
usePermissionStore.getState().clearPermissions();
|
|
useAppStore.setState({
|
|
sidebarCollapsed: false,
|
|
mobileDrawerOpen: false,
|
|
menuOpenKeys: [],
|
|
aiChatOpen: false,
|
|
aiWorking: false,
|
|
routeDockTabs: [],
|
|
});
|
|
useSettingsStore.setState({ aiChat: { deepThinking: false } });
|
|
});
|
|
|
|
export { BASE };
|