fix: importer bugs and editor bugs

This commit is contained in:
2026-02-14 21:24:01 +01:00
parent b036cf3c46
commit 4b31d9d421
9 changed files with 281 additions and 24 deletions

View File

@@ -463,6 +463,47 @@ describe('MediaEngine', () => {
});
});
describe('getRelativePath', () => {
it('should return relative path from dataDir for a media item', async () => {
mediaEngine.setProjectContext('test-project', '/projects/my-blog');
const selectChain = createSelectChain();
selectChain.get.mockResolvedValue({
id: 'abc-123',
filePath: '/projects/my-blog/media/2025/01/abc-123.jpg',
});
vi.mocked(mockLocalDb.select).mockReturnValue(selectChain as any);
const result = await mediaEngine.getRelativePath('abc-123');
expect(result).toBe('media/2025/01/abc-123.jpg');
});
it('should return null when media item is not found', async () => {
mediaEngine.setProjectContext('test-project', '/projects/my-blog');
const selectChain = createSelectChain();
selectChain.get.mockResolvedValue(undefined);
vi.mocked(mockLocalDb.select).mockReturnValue(selectChain as any);
const result = await mediaEngine.getRelativePath('nonexistent');
expect(result).toBeNull();
});
it('should return null when filePath is empty', async () => {
mediaEngine.setProjectContext('test-project', '/projects/my-blog');
const selectChain = createSelectChain();
selectChain.get.mockResolvedValue({ id: 'abc-123', filePath: '' });
vi.mocked(mockLocalDb.select).mockReturnValue(selectChain as any);
const result = await mediaEngine.getRelativePath('abc-123');
expect(result).toBeNull();
});
});
describe('Multiple Media Import', () => {
beforeEach(() => {
mockFiles.set('/source/image1.jpg', Buffer.from('image1-data'));