61 lines
1.5 KiB
TypeScript
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);
|
|
});
|
|
});
|