chore: last refactors finished

This commit is contained in:
2026-02-21 18:29:25 +01:00
parent f9663b07b1
commit 3fb0085b11
6 changed files with 196 additions and 286 deletions

View File

@@ -0,0 +1,58 @@
import { describe, expect, it, vi } from 'vitest';
import { createAndFocusPost } from '../../../src/renderer/navigation/postCreation';
describe('postCreation', () => {
it('creates a post, focuses it, and optionally ensures posts sidebar', async () => {
const createPost = vi.fn().mockResolvedValue({ id: 'post-1' });
const setSelectedPost = vi.fn();
const ensurePostsSidebar = vi.fn();
const result = await createAndFocusPost({
createPost,
setSelectedPost,
ensurePostsSidebar,
});
expect(createPost).toHaveBeenCalledWith({
title: '',
content: '',
tags: [],
categories: [],
});
expect(setSelectedPost).toHaveBeenCalledWith('post-1');
expect(ensurePostsSidebar).toHaveBeenCalledTimes(1);
expect(result).toBe('post-1');
});
it('returns null and does not focus when create returns nullish', async () => {
const createPost = vi.fn().mockResolvedValue(null);
const setSelectedPost = vi.fn();
const ensurePostsSidebar = vi.fn();
const result = await createAndFocusPost({
createPost,
setSelectedPost,
ensurePostsSidebar,
});
expect(setSelectedPost).not.toHaveBeenCalled();
expect(ensurePostsSidebar).not.toHaveBeenCalled();
expect(result).toBeNull();
});
it('returns null and reports errors', async () => {
const createPost = vi.fn().mockRejectedValue(new Error('fail'));
const setSelectedPost = vi.fn();
const onError = vi.fn();
const result = await createAndFocusPost({
createPost,
setSelectedPost,
onError,
});
expect(setSelectedPost).not.toHaveBeenCalled();
expect(onError).toHaveBeenCalledTimes(1);
expect(result).toBeNull();
});
});