diff --git a/CLAUDE.md b/CLAUDE.md index 7fb168b..1928ff6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -37,6 +37,11 @@ SSH 连接服务器(部署用):`ssh -i ~/.ssh/id_rsa.moicen weli@101.43.244.164` +## 仓库迁移注意 + +- `authcore`(Firebase Auth Core)是**公开仓库**,不要托管到自托管 Gitea +- huike-e2e-moicen、huike-front、huike-back、resty_functions 这 4 个仓库需要统一管理 GitHub ↔ Gitea 同步 + ## 工具链 - 文本检索:`rg`(ripgrep) diff --git a/tests/clazz-dual-view.spec.ts b/tests/clazz-dual-view.spec.ts index 3bf02ef..8af9c73 100644 --- a/tests/clazz-dual-view.spec.ts +++ b/tests/clazz-dual-view.spec.ts @@ -9,8 +9,8 @@ async function loginAsTeacher(page: any) { await expect(page.locator('#app')).toBeVisible({ timeout: 60_000 }); // 逐层处理选择页:机构选择 → 角色选择(可能有 0~n 层) - const teacherRoleText = '教师'; - for (let i = 0; i < 5; i++) { + let roleSelected = false; + for (let i = 0; i < 5 && !roleSelected; i++) { const path = await page.evaluate(() => window.location.pathname); if (path === '/org/select') { @@ -20,11 +20,17 @@ async function loginAsTeacher(page: any) { const rs = page.getByText('请选择您的登录身份'); try { await rs.waitFor({ state: 'visible', timeout: 10_000 }); - await page.locator('.van-grid-item').filter({ hasText: teacherRoleText }).click(); + const items = page.locator('.van-grid-item'); + const count = await items.count(); + if (count >= 3) { + await items.nth(2).click(); // TEACHER role + } else { + await items.first().click(); + } await page.waitForTimeout(3_000); - return; + roleSelected = true; } catch { - // 无角色选择器 → 角色已自动选中,继续 + // 无角色选择器 → 角色已自动选中 break; } } else {