2.8 KiB
2.8 KiB
Batch B2 Worker E — Mindmap ResourceTab Smoke Update
修改文件
scripts/task443-filetree-mindmap-click-active-row-smoke.jsscripts/task445-filetree-mindmap-switch-no-flicker-smoke.js
修改内容
将两个 smoke 中检查旧路由 /mindmap/${docId}/${mindmapId} 的 waitForURL 全部替换为检查当前 ResourceTab URL 模式的 waitForFunction。
具体替换逻辑
| 位置 | 原检查 | 新检查 |
|---|---|---|
| task443 第 1 次点击 | waitForURL 期望 pathname 含 /mindmap/${docId}/${mindmapId} |
waitForFunction 检查 pathname 含 /documents/${docId} + resourceTab search param 包含 resource:mindmap:${docId}:${mindmapId} |
| task445 第 1 次点击(同一文档) | 同上 | 同上 |
| task445 第 3 次点击(跨文档) | 同上 | waitForFunction 检查 pathname 以 /documents/ 开头 + resourceTab 包含 resource:mindmap:${docId}:${mindmapId}(docId 为 mindmap 所属文档,与当前 page doc 无关) |
task445 第 2 次点击(切换到 otherDoc)的 waitForURL 检查 /documents/${otherDoc.documentId} 无需修改。
验收运行结果
task443 ✅ PASS
ok task443-filetree-mindmap-click-active-row-smoke .../result.json
ok: trueafterUrl:/documents/${docId}?workspaceId=...&resourceTab=resource%3Amindmap%3A${docId}%3A${mindmapId}afterSelectedRows: mindmap asset row 具有data-selected="true"- 无父页面 doc row 选中
task445 ✅ PASS
ok task445-filetree-mindmap-switch-no-flicker-smoke .../result.json
ok: true,failures: []- Step 1 → mindmap:
mindmapSelected: "true",pageSelected: "false", path/documents/docA - Step 2 → otherDoc:
mindmapSelected: "false",pageSelected: "true", path/documents/docB - Step 3 → mindmap again:
mindmapSelected: "true",pageSelected: "false", path 保持/documents/docB,URL 含resourceTab=resource:mindmap:${docA}:${mindmapId} - 三次
fileRootStable均为true(sidebar root 未被替换)
task445 400 情况说明
仍有一次 400。consoleMessages 捕获到:
Failed to load resource: the server responded with a status of 400 (Bad Request)
请求线索:第 3 步(跨文档点击 mindmap)时,URL 切换到 /documents/docB?resourceTab=resource:mindmap:docA:mindmapId 后,client 发起了对 doc A mindmap 的 API GET 请求,但当前上下文是 doc B,Mindmap API handler 拒绝了该请求。
这不是 smoke 假 — 是当前后端对跨文档 ResourceTab 打开方式的限制。当用户在 doc B 页面打开 doc A 的 mindmap 资源时,对应的 /api/mindmap/${docA}/${mindmapId} 请求返回 400。
未完成项
无。两个 smoke 均通过。
风险
无直接风险。smoke 修改只影响 URL 断言模式,不改变业务逻辑。