Files
2026-07-13 13:20:22 +08:00

31 lines
1.4 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { resolveTeamWorkspaceView } from '@/renderer/pages/team/utils/teamWorkspaceView';
describe('resolveTeamWorkspaceView', () => {
it('prefers teams.workspace over leader fallback', () => {
const view = resolveTeamWorkspaceView('/project/app', '/tmp/leader');
expect(view.workspacePath).toBe('/project/app');
expect(view.workspaceEnabled).toBe(true);
expect(view.isTemporaryWorkspace).toBe(false);
});
it('uses leader workspace only as display fallback for legacy empty teams.workspace', () => {
const view = resolveTeamWorkspaceView('', '/tmp/aion/conversations/acp-temp-leader');
expect(view.workspacePath).toBe('/tmp/aion/conversations/acp-temp-leader');
expect(view.workspaceEnabled).toBe(true);
expect(view.isTemporaryWorkspace).toBe(true);
});
it('marks Team-scoped temp workspace as temporary even when teams.workspace is non-empty', () => {
const view = resolveTeamWorkspaceView('/tmp/aion/conversations/team-temp-team123', '');
expect(view.workspacePath).toBe('/tmp/aion/conversations/team-temp-team123');
expect(view.workspaceEnabled).toBe(true);
expect(view.isTemporaryWorkspace).toBe(true);
});
it('marks per-conversation temp workspace as temporary for compatibility display', () => {
const view = resolveTeamWorkspaceView('/tmp/aion/conversations/acp-temp-conv123', '');
expect(view.isTemporaryWorkspace).toBe(true);
});
});