41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import { describe, expect, it, vi } from 'vitest';
|
|
import { activateSidebarSection } from '../../../src/renderer/navigation/sectionActivation';
|
|
|
|
describe('sectionActivation', () => {
|
|
it('opens editor first and delays section activation when editor is not active', () => {
|
|
const ensureEditor = vi.fn();
|
|
const activateSection = vi.fn();
|
|
const schedule = vi.fn((callback: () => void) => callback());
|
|
|
|
activateSidebarSection({
|
|
isEditorTabActive: false,
|
|
ensureEditorTabActive: ensureEditor,
|
|
activateSection,
|
|
schedule,
|
|
delayWhenOpeningEditorMs: 100,
|
|
});
|
|
|
|
expect(ensureEditor).toHaveBeenCalledTimes(1);
|
|
expect(schedule).toHaveBeenCalledTimes(1);
|
|
expect(schedule).toHaveBeenCalledWith(expect.any(Function), 100);
|
|
expect(activateSection).toHaveBeenCalledTimes(1);
|
|
});
|
|
|
|
it('activates section immediately when editor tab is already active', () => {
|
|
const ensureEditor = vi.fn();
|
|
const activateSection = vi.fn();
|
|
const schedule = vi.fn((callback: () => void) => callback());
|
|
|
|
activateSidebarSection({
|
|
isEditorTabActive: true,
|
|
ensureEditorTabActive: ensureEditor,
|
|
activateSection,
|
|
schedule,
|
|
});
|
|
|
|
expect(ensureEditor).not.toHaveBeenCalled();
|
|
expect(schedule).toHaveBeenCalledWith(expect.any(Function), 0);
|
|
expect(activateSection).toHaveBeenCalledTimes(1);
|
|
});
|
|
});
|