Files
advanced-camera-card/tests/card-controller/config/load-folders.test.ts
T

49 lines
1.6 KiB
TypeScript

import { describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { setFoldersFromConfig } from '../../../src/card-controller/config/load-folders';
import type { FoldersManager } from '../../../src/card-controller/folders/manager';
import { createConfig } from '../../config/test-utils';
import { createCardAPI, 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).toHaveBeenCalled();
expect(foldersManager.addFolders).toHaveBeenCalledWith(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.getIssueManager().trigger).toHaveBeenCalledWith('config_error', {
error,
});
});
});