Files
huike-e2e-moicen/README.md
T

39 lines
2.2 KiB
Markdown
Raw Normal View History

# huike-e2e-moicen
针对 **已部署**`music-room.moicen.com`(或任意 `HUIKE_FRONT_BASE_URL`)跑 **Playwright**,不 clone `huike-front`、不起 Postgres、不编译 Rust。全栈本地 E2E 见 **[alchemy-studio/huike-e2e](https://github.com/alchemy-studio/huike-e2e)**。
## 本机
```bash
npm ci
npx playwright install chromium
npx playwright test
```
走代理安装(默认 `http://localhost:7890`):`npm run install:with-proxy`
可选:复制 `.env.e2e.example``.env.e2e`。音乐房串号用例填 **`MOICEN_E2E_UNIONID`**;管理端 **`/tasks`** 用例填 **`MOICEN_ADMIN_USER`** / **`MOICEN_ADMIN_PASSWORD`**(见 example 内说明)。勿提交 `.env.e2e`
用例概览:
| 文件 | 内容 |
|------|------|
| `tests/guest-onboarding.spec.ts` | 未登录:仅见「请返回微信小程序完成登录」,不出现已登录工作台 |
| `tests/home-shell.spec.ts` | `#app`、伪造 unionid 不白屏、`page_path` 净化 |
| `tests/logged-in-and-isolation.spec.ts` | 需 Secret:登录后非访客态;异主 unionid 剥离;多角色选身份后见「欢迎回来」(不校验姓名) |
| `tests/org-multi-tenant.spec.ts` | 需 Secret:机构选择页可达且呈现机构列表 UI |
| `tests/org-data-isolation.spec.ts` | 需 Secret`CurrentOrgId` 与 JWT `current_org_id` 一致;多机构时可切换机构并更新上下文;`/course` 课程体系列表不出现「请求失败」错误态 |
| `tests/admin-tasks.spec.ts` | 需 `MOICEN_ADMIN_USER` / `MOICEN_ADMIN_PASSWORD`:管理端登录后打开 `/tasks` |
未配置 `MOICEN_E2E_UNIONID` 时,`logged-in-and-isolation``org-multi-tenant``org-data-isolation` 内用例全部 skip。未配置管理端账号时,`admin-tasks` 内用例 skip。
## GitHub Actions
**Settings → Secrets → Actions** 配置 **`MOICEN_E2E_UNIONID`** 即可。未配 unionid 时仅跑访客与壳层用例。
`workflow_dispatch` 可改目标 `base_url`**默认定时:每天 06:30 UTC**(见 `.github/workflows/playwright-music-room.yml`)。
## 与 moicen 运维文档
浏览器联调、在 UC 库查 `union_id` 等:见团队内 **`plan_skills/moicen/moicen-music-room-browser-test-runbook.md`**(与 huiwing-migration / 运维仓同路径即可)。