memowake-front/lib/database/database-test.ts
2025-07-21 16:28:22 +08:00

61 lines
2.0 KiB
TypeScript

// 数据库架构测试文件
import { database } from './database-factory';
import { UploadTask } from './types';
// 测试数据库基本功能
export async function testDatabase() {
console.log('开始测试数据库功能...');
try {
// 初始化数据库
await database.initUploadTable();
console.log('✓ 数据库初始化成功');
// 测试插入任务
const testTask: Omit<UploadTask, 'created_at'> = {
uri: 'test://example.jpg',
filename: 'example.jpg',
status: 'pending',
progress: 0,
file_id: undefined
};
await database.insertUploadTask(testTask);
console.log('✓ 任务插入成功');
// 测试查询任务
const retrievedTask = await database.getUploadTaskStatus(testTask.uri);
if (retrievedTask) {
console.log('✓ 任务查询成功:', retrievedTask);
} else {
console.log('✗ 任务查询失败');
}
// 测试更新任务状态
await database.updateUploadTaskStatus(testTask.uri, 'success', 'file123');
console.log('✓ 任务状态更新成功');
// 测试获取所有任务
const allTasks = await database.getUploadTasks();
console.log('✓ 获取所有任务成功,数量:', allTasks.length);
// 测试应用状态
await database.setAppState('test_key', 'test_value');
const stateValue = await database.getAppState('test_key');
console.log('✓ 应用状态测试成功:', stateValue);
// 清理测试数据
await database.cleanUpUploadTasks();
console.log('✓ 数据清理成功');
console.log('🎉 所有数据库测试通过!');
} catch (error) {
console.error('❌ 数据库测试失败:', error);
throw error;
}
}
// 导出测试函数供调用
export default testDatabase;