Files
bDS/tests/renderer/navigation/blogmarkHandling.test.ts

61 lines
1.5 KiB
TypeScript

import { describe, expect, it, vi } from 'vitest';
import { handleBlogmarkCreatedEvent } from '../../../src/renderer/navigation/blogmarkHandling';
describe('handleBlogmarkCreatedEvent', () => {
it('does not collapse sidebar when already in posts view', () => {
const setActiveView = vi.fn();
const toggleSidebar = vi.fn();
const setSelectedPost = vi.fn();
const openTab = vi.fn();
handleBlogmarkCreatedEvent(
{
activeView: 'posts',
sidebarVisible: true,
},
{
id: 'post-1',
},
{
setActiveView,
toggleSidebar,
setSelectedPost,
openTab,
},
);
expect(setActiveView).not.toHaveBeenCalled();
expect(toggleSidebar).not.toHaveBeenCalled();
expect(setSelectedPost).toHaveBeenCalledWith('post-1');
expect(openTab).toHaveBeenCalledTimes(1);
});
it('switches to posts view and opens sidebar when needed', () => {
const setActiveView = vi.fn();
const toggleSidebar = vi.fn();
const setSelectedPost = vi.fn();
const openTab = vi.fn();
handleBlogmarkCreatedEvent(
{
activeView: 'media',
sidebarVisible: false,
},
{
id: 'post-2',
},
{
setActiveView,
toggleSidebar,
setSelectedPost,
openTab,
},
);
expect(setActiveView).toHaveBeenCalledWith('posts');
expect(toggleSidebar).toHaveBeenCalledTimes(1);
expect(setSelectedPost).toHaveBeenCalledWith('post-2');
expect(openTab).toHaveBeenCalledTimes(1);
});
});