- 重构了 DataManager 类,增加了 UI 配置导入导出功能 - 优化了数据导入流程,能够处理部分数据导入失败的情况 - 添加了对 UI 配置数据的导入导出支持 - 重构了部分错误处理逻辑,提高了代码的健壮性
30 lines
873 B
TypeScript
30 lines
873 B
TypeScript
import { IStorageProvider } from '../../src/services/storage/types';
|
|
import { vi } from 'vitest';
|
|
|
|
/**
|
|
* 创建模拟存储提供程序,用于测试
|
|
*/
|
|
export function createMockStorage(): IStorageProvider & {
|
|
getItem: ReturnType<typeof vi.fn>;
|
|
setItem: ReturnType<typeof vi.fn>;
|
|
removeItem: ReturnType<typeof vi.fn>;
|
|
clearAll: ReturnType<typeof vi.fn>;
|
|
} {
|
|
const storage: Record<string, string> = {};
|
|
|
|
return {
|
|
getItem: vi.fn((key: string) => Promise.resolve(storage[key] || null)),
|
|
setItem: vi.fn((key: string, value: string) => {
|
|
storage[key] = value;
|
|
return Promise.resolve();
|
|
}),
|
|
removeItem: vi.fn((key: string) => {
|
|
delete storage[key];
|
|
return Promise.resolve();
|
|
}),
|
|
clearAll: vi.fn(() => {
|
|
Object.keys(storage).forEach(key => delete storage[key]);
|
|
return Promise.resolve();
|
|
})
|
|
};
|
|
}
|