- Replaced direct access to session.firstMessage with formatSessionLabel for consistent label formatting across components. - Updated SessionItem, TeamSessionsSection, and KanbanFilterPopover to utilize the new formatting function. - Enhanced display logic in SessionItem to differentiate between regular and team sessions, improving user experience. - Added new icons for team sessions and adjusted metadata display for better clarity.
69 lines
2 KiB
TypeScript
69 lines
2 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
|
|
import {
|
|
hasSelectedTargetTeamData,
|
|
shouldKeepGlobalTaskDialogLoading,
|
|
} from '../../../../../src/renderer/components/team/dialogs/globalTaskDetailDialogLoading';
|
|
|
|
describe('shouldKeepGlobalTaskDialogLoading', () => {
|
|
it('treats stale selectedTeamData from another team as not loaded', () => {
|
|
expect(hasSelectedTargetTeamData('alpha', 'alpha', 'beta')).toBe(false);
|
|
expect(hasSelectedTargetTeamData('alpha', 'alpha', 'alpha')).toBe(true);
|
|
});
|
|
|
|
it('keeps loading while team switch has not reached the target team yet', () => {
|
|
expect(
|
|
shouldKeepGlobalTaskDialogLoading({
|
|
teamName: 'alpha',
|
|
taskId: 'task-1',
|
|
selectedTeamName: 'beta',
|
|
selectedTeamDataPresent: false,
|
|
selectedTeamLoading: false,
|
|
selectedTeamError: null,
|
|
hasTaskInMap: false,
|
|
})
|
|
).toBe(true);
|
|
});
|
|
|
|
it('keeps loading when team data is not ready yet and the task is still absent', () => {
|
|
expect(
|
|
shouldKeepGlobalTaskDialogLoading({
|
|
teamName: 'alpha',
|
|
taskId: 'task-1',
|
|
selectedTeamName: 'alpha',
|
|
selectedTeamDataPresent: false,
|
|
selectedTeamLoading: false,
|
|
selectedTeamError: null,
|
|
hasTaskInMap: false,
|
|
})
|
|
).toBe(true);
|
|
});
|
|
|
|
it('stops loading once a fallback task snapshot is already available', () => {
|
|
expect(
|
|
shouldKeepGlobalTaskDialogLoading({
|
|
teamName: 'alpha',
|
|
taskId: 'task-1',
|
|
selectedTeamName: 'alpha',
|
|
selectedTeamDataPresent: false,
|
|
selectedTeamLoading: false,
|
|
selectedTeamError: null,
|
|
hasTaskInMap: true,
|
|
})
|
|
).toBe(false);
|
|
});
|
|
|
|
it('stops loading after a real load error', () => {
|
|
expect(
|
|
shouldKeepGlobalTaskDialogLoading({
|
|
teamName: 'alpha',
|
|
taskId: 'task-1',
|
|
selectedTeamName: 'alpha',
|
|
selectedTeamDataPresent: false,
|
|
selectedTeamLoading: false,
|
|
selectedTeamError: 'boom',
|
|
hasTaskInMap: false,
|
|
})
|
|
).toBe(false);
|
|
});
|
|
});
|