feat: Implement basic general folder support (#2051)

- Related: #1748
This commit is contained in:
Dermot Duffy
2025-05-21 19:59:21 -07:00
committed by GitHub
parent 2eb0d9e35e
commit c6a4c8aea2
350 changed files with 12837 additions and 4509 deletions
@@ -0,0 +1,44 @@
import { describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { setFoldersFromConfig } from '../../../src/card-controller/config/load-folders';
import { FoldersManager } from '../../../src/card-controller/folders/manager';
import { createCardAPI, createConfig, createFolder } from '../../test-utils';
describe('setFoldersFromConfig', () => {
it('should replace folders', () => {
const api = createCardAPI();
const foldersManager = mock<FoldersManager>();
vi.mocked(api.getFoldersManager).mockReturnValue(foldersManager);
const folders = [createFolder()];
const config = createConfig({
folders,
});
vi.mocked(api.getConfigManager().getConfig).mockReturnValue(config);
setFoldersFromConfig(api);
expect(foldersManager.deleteFolders).toBeCalled();
expect(foldersManager.addFolders).toBeCalledWith(folders);
});
it('should handle exceptions', () => {
const api = createCardAPI();
const foldersManager = mock<FoldersManager>();
vi.mocked(api.getFoldersManager).mockReturnValue(foldersManager);
const error = new Error('test error');
vi.mocked(foldersManager.addFolders).mockImplementation(() => {
throw error;
});
const config = createConfig({
folders: [createFolder()],
});
vi.mocked(api.getConfigManager().getConfig).mockReturnValue(config);
setFoldersFromConfig(api);
expect(api.getMessageManager().setErrorIfHigherPriority).toBeCalledWith(error);
});
});