补齐企微历史验收模拟接口隔离(09-06-release-gate-integrity / 09-17-company-loan-principal-repayment)
N3 第三轮候选 98bab397:浏览器 371 通过、1 失败;报销付款与 PWA 升级通过。 桌面企微历史测试整页导航后等待标题超时,快照退回登录页。 确认默认桌面 context 漏掉已有的 Service Worker 隔离;原运行没有请求来源证据,历史唯一根因未证实。 补文件级隔离,验证原导航实际获得该 fixture 的 refresh/profile 响应:200、非 Worker、requestId 对应。 原三项用例、登录/会话、桌面只读、手机布局及截图保持。受管定向 3 项通过,无失败/跳过/重试,环境和清理通过。 应用、资金规则、迁移、门禁范围、预算和全局并发未改。前三轮失败回执保留。 第四轮完整候选结果以新回执为准;独立代码复核及真实还款待验。 仅本地提交,不推送、不部署,不访问生产或真实 OCR。
这个提交包含在:
@@ -2,6 +2,8 @@ import { mkdirSync, mkdtempSync } from "node:fs";
|
||||
import path from "node:path";
|
||||
import { expect, test, type Browser, type Page, type Route } from "@playwright/test";
|
||||
|
||||
test.use({ serviceWorkers: "block" });
|
||||
|
||||
const visualRoot = path.resolve(process.env.QA_VISUAL_OUTPUT_DIR?.trim() || path.join(process.cwd(), "../output/playwright"));
|
||||
mkdirSync(visualRoot, { recursive: true });
|
||||
const SCREENSHOT_DIR = mkdtempSync(path.join(visualRoot, "internal-readiness-ui-"));
|
||||
@@ -397,7 +399,16 @@ test.describe("五人团队本地候选移动证据", () => {
|
||||
await mockApis(page, state);
|
||||
await login(page);
|
||||
await page.setViewportSize({ width: 1024, height: 768 });
|
||||
await page.goto("/wecom-approval-archive");
|
||||
const [refreshResponse, meResponse] = await Promise.all([
|
||||
page.waitForResponse((response) => new URL(response.url()).pathname === "/api/auth/refresh"),
|
||||
page.waitForResponse((response) => new URL(response.url()).pathname === "/api/me"),
|
||||
page.goto("/wecom-approval-archive"),
|
||||
]);
|
||||
for (const response of [refreshResponse, meResponse]) {
|
||||
expect(response.status()).toBe(200);
|
||||
expect(response.fromServiceWorker()).toBe(false);
|
||||
expect((await response.json()).requestId).toBe("mock-internal-readiness-ui");
|
||||
}
|
||||
await expect(page).toHaveURL(/\/wecom-approval-archive$/);
|
||||
await expect(page.getByRole("heading", { level: 1, name: "企微审批历史" })).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: "查看历史" })).toBeVisible();
|
||||
|
||||
在新工单中引用
屏蔽一个用户