feat: integrate pi rust lab runtime
This commit is contained in:
@@ -76,20 +76,18 @@ async function main() {
|
||||
await userPage.goto(baseUrl, { waitUntil: "domcontentloaded", timeout: UI_TIMEOUT_MS });
|
||||
await userPage.locator('[data-testid="mnote-account-menu-trigger"]').click();
|
||||
await userPage.locator('[data-testid="mnote-account-menu"]').waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
await userPage.waitForFunction(() => {
|
||||
const link = document.querySelector('[data-testid="mnote-account-access-policy"]');
|
||||
return link && link.getAttribute("href") === "/user/access-policy";
|
||||
}, { timeout: UI_TIMEOUT_MS });
|
||||
assert.equal(await userPage.locator('[data-testid="mnote-account-access-policy"]').count(), 0, "授权管理入口应已退役");
|
||||
await userPage.locator('[data-testid="mnote-account-ai-management"]').waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
await userPage.locator('[data-testid="mnote-account-profile"]').click();
|
||||
await userPage.locator('[data-testid="mnote-profile-dialog"]').waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
const profileText = await userPage.locator('[data-testid="mnote-profile-dialog"]').innerText();
|
||||
assert(profileText.includes("user_profile_smoke"), "个人信息弹窗应显示完整用户 ID");
|
||||
|
||||
await userPage.goto(`${baseUrl}/user/access-policy`, { waitUntil: "domcontentloaded", timeout: UI_TIMEOUT_MS });
|
||||
await userPage.locator('[data-testid="mnote-admin-access-policy-page"]').waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
const userAccessText = await userPage.locator('[data-testid="mnote-admin-access-policy-page"]').innerText();
|
||||
assert(userAccessText.includes("分享管理"), "普通用户授权页应显示分享管理");
|
||||
assert(!userAccessText.includes("验证目录"), "普通用户授权页不应显示目录授权验证表单");
|
||||
await userPage.goto(`${baseUrl}/user/access-policy`, { waitUntil: "commit", timeout: UI_TIMEOUT_MS });
|
||||
await userPage.waitForURL((url) => url.pathname === "/user/ai" && url.hash === "#ai-admin-access", { timeout: UI_TIMEOUT_MS });
|
||||
await userPage.locator("#ai-admin-access.is-active").waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
const userAccessText = await userPage.locator("#ai-admin-access").innerText();
|
||||
assert(userAccessText.includes("目录权限"), "旧用户授权页应跳转到用户 AI 设置的目录权限面板");
|
||||
await userContext.close();
|
||||
|
||||
const adminContext = await browser.newContext({
|
||||
@@ -102,16 +100,13 @@ async function main() {
|
||||
await adminPage.goto(baseUrl, { waitUntil: "domcontentloaded", timeout: UI_TIMEOUT_MS });
|
||||
await adminPage.locator('[data-testid="mnote-account-menu-trigger"]').click();
|
||||
await adminPage.locator('[data-testid="mnote-account-menu"]').waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
await adminPage.waitForFunction(() => {
|
||||
const link = document.querySelector('[data-testid="mnote-account-access-policy"]');
|
||||
return link && link.getAttribute("href") === "/admin/access-policy";
|
||||
}, { timeout: UI_TIMEOUT_MS });
|
||||
await adminPage.goto(`${baseUrl}/admin/access-policy`, { waitUntil: "domcontentloaded", timeout: UI_TIMEOUT_MS });
|
||||
await adminPage.locator('[data-testid="mnote-admin-access-policy-page"]').waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
const adminAccessText = await adminPage.locator('[data-testid="mnote-admin-access-policy-page"]').innerText();
|
||||
assert(adminAccessText.includes("目录授权"), "管理员授权页应显示目录授权");
|
||||
assert(adminAccessText.includes("分享管理"), "管理员授权页应显示分享管理");
|
||||
assert(await adminPage.locator('[data-testid="mnote-admin-validate-root-submit"]').isVisible(), "管理员页应显示验证目录按钮");
|
||||
assert.equal(await adminPage.locator('[data-testid="mnote-account-access-policy"]').count(), 0, "管理员账号菜单不应再出现授权管理入口");
|
||||
await adminPage.locator('[data-testid="mnote-account-ai-management"]').waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
await adminPage.goto(`${baseUrl}/admin/access-policy`, { waitUntil: "commit", timeout: UI_TIMEOUT_MS });
|
||||
await adminPage.waitForURL((url) => url.pathname === "/admin/ai" && url.hash === "#ai-admin-access", { timeout: UI_TIMEOUT_MS });
|
||||
await adminPage.locator("#ai-admin-access.is-active").waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
const adminAccessText = await adminPage.locator("#ai-admin-access").innerText();
|
||||
assert(adminAccessText.includes("目录权限"), "旧管理员授权页应跳转到管理员 AI 设置的目录权限面板");
|
||||
await adminContext.close();
|
||||
|
||||
console.log(JSON.stringify({ ok: true, task: "task489-auth-profile-access-ui", baseUrl }, null, 2));
|
||||
|
||||
Reference in New Issue
Block a user