验证紧急事件转为待办问题后,数据能够正确保存到数据库,页面刷新后不会消失。
检查 dashboard.ts 中的 createTodoFromEvent 方法是否包含数据库保存逻辑:
// 应该是 async 方法
async createTodoFromEvent(event: UrgentEvent): Promise<void> {
// ...
const saved = await issueObj.save(); // 应该有这行
// ...
}
✅ 控制台显示成功日志:
💾 [待办问题] 开始保存到数据库...
✅ [待办问题] 保存成功: abc123xyz
✅ [待办问题] 紧急事件已转为待办问题
✅ 弹窗提示"已成功转为待办问题"
abc123xyz)title 字段以【紧急】开头status 字段为"待处理"priority 字段为 'urgent' 或 'high'issueType 字段为 'feedback'project 字段正确关联项目creator 字段正确关联当前用户isDeleted 字段为 falsedata.sourceEvent 包含来源事件信息数据示例:
{
"objectId": "abc123xyz",
"title": "【紧急】客户催交付图纸",
"status": "待处理",
"priority": "urgent",
"issueType": "feedback",
"project": { "__type": "Pointer", "className": "Project", "objectId": "..." },
"creator": { "__type": "Pointer", "className": "Profile", "objectId": "..." },
"isDeleted": false,
"data": {
"tags": ["交付", "来自紧急事件"],
"comments": [],
"sourceEvent": {
"eventId": "...",
"eventType": "urgent",
"convertedAt": "2024-12-09T08:00:00.000Z",
"convertedBy": "..."
}
}
}
✅ 控制台显示加载日志:
🔍 [TodoTaskService] 开始加载待办任务...
📥 [TodoTaskService] 查询到 X 条问题记录
✅ 加载待办任务成功,共 X 条
✅ 弹窗提示错误信息:
保存失败:Failed to fetch
请重试
✅ 控制台显示错误日志:
❌ [待办问题] 保存失败: TypeError: Failed to fetch
| 测试用例 | 测试时间 | 测试人 | 结果 | 备注 |
|---|---|---|---|---|
| 用例1:创建待办问题 | ☐ 通过 / ☐ 失败 | |||
| 用例2:数据库验证 | ☐ 通过 / ☐ 失败 | |||
| 用例3:刷新持久化 | ☐ 通过 / ☐ 失败 | |||
| 用例4:错误处理 | ☐ 通过 / ☐ 失败 | |||
| 用例5:并发创建 | ☐ 通过 / ☐ 失败 | |||
| 用例6:关联数据 | ☐ 通过 / ☐ 失败 |
现象:
❌ [待办问题] 保存失败: Error: Unauthorized
原因:当前用户未登录或 Session 过期
解决方法:
现象:
❌ [待办问题] 保存失败: Error: Object not found
原因:紧急事件的 projectId 无效
解决方法:
现象:数据库有记录,但刷新后不显示
原因:查询条件不匹配
检查项:
status 字段是否为"待处理"或"open"isDeleted 字段是否为 false检查查询日志:
📥 [TodoTaskService] 查询到 X 条问题记录
如果 X=0,说明查询条件有问题
现象:同一个任务显示2次
原因:内存添加 + 数据库加载重复
检查项:
检查代码中是否有这段逻辑:
this.todoTasksFromIssues = this.todoTasksFromIssues.map(task => {
if (task.id === tempId) {
return { ...task, id: saved.id };
}
return task;
});
所有6个测试用例全部通过,具体标准:
请在测试过程中截图保存以下内容:
创建成功截图:
数据库记录截图:
刷新后截图:
错误处理截图:
文档版本:v1.0
更新时间:2024-12-09
维护人:QA团队