forked from baron/baron-sso
5.2 KiB
5.2 KiB
UserFront WASM E2E 라우트/기능 전수 인벤토리
- 기준 소스:
userfront/lib/main.dart - 목적: 라우트 전수 항목을 Playwright 테스트로 코드화하고 CI에서 상시 검증
- 현재 구현 파일:
userfront-e2e/tests/route-inventory.spec.tsuserfront-e2e/tests/auth-routing.spec.tsuserfront-e2e/tests/password-and-reset.spec.tsuserfront-e2e/tests/profile-department.spec.ts
1) 라우트 전수 (main.dart 기준)
| ID | Route | 검증 상태 | 테스트 파일 |
|---|---|---|---|
| R01 | / |
비로그인 시 /{locale}/signin 리다이렉트 검증 완료 |
userfront-e2e/tests/route-inventory.spec.ts |
| R02 | /:locale (/ko) |
비로그인 signin / 로그인 dashboard 분기 검증 완료 |
userfront-e2e/tests/route-inventory.spec.ts, userfront-e2e/tests/auth-routing.spec.ts |
| R03 | /:locale/dashboard |
비로그인 signin / 로그인 유지 검증 완료 |
userfront-e2e/tests/route-inventory.spec.ts, userfront-e2e/tests/auth-routing.spec.ts |
| R04 | /:locale/profile |
비로그인 signin / 로그인 유지 검증 완료 |
userfront-e2e/tests/route-inventory.spec.ts |
| R05 | /:locale/signin |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R06 | /:locale/login |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R07 | /:locale/consent |
challenge 유무 케이스 진입 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R08 | /:locale/signup |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R09 | /:locale/registration |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R10 | /:locale/verify |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R11 | /:locale/verify/:token |
verify 경로 진입/처리 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R12 | /:locale/verification |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R13 | /:locale/l/:shortCode |
short code 경로 진입/처리 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R14 | /:locale/forgot-password |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R15 | /:locale/recovery |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R16 | /:locale/reset-password |
token 기반 진입 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts, userfront-e2e/tests/password-and-reset.spec.ts |
| R17 | /:locale/error |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R18 | /:locale/settings |
진입 가능 검증 완료 | userfront-e2e/tests/route-inventory.spec.ts |
| R19 | /:locale/approve |
비로그인 signin?notice=... / 로그인 dashboard 검증 완료 |
userfront-e2e/tests/route-inventory.spec.ts, userfront-e2e/tests/auth-routing.spec.ts |
| R20 | /:locale/ql/:ref |
비로그인 signin?notice=... / 로그인 dashboard 검증 완료 |
userfront-e2e/tests/route-inventory.spec.ts |
| R21 | /:locale/scan |
비로그인 signin / 로그인 진입 검증 완료 |
userfront-e2e/tests/route-inventory.spec.ts |
| R22 | /:locale/admin/users |
비로그인 signin / 로그인 진입 검증 완료 |
userfront-e2e/tests/route-inventory.spec.ts |
2) 기능 회귀 (핵심)
| ID | 기능 | 검증 상태 | 테스트 파일 |
|---|---|---|---|
| F01 | /ko 비로그인 리다이렉트 |
완료 | userfront-e2e/tests/auth-routing.spec.ts |
| F02 | 로그인 후 /ko + 새로고침 세션 유지 |
완료 | userfront-e2e/tests/auth-routing.spec.ts |
| F03 | approve 경로 비로그인 보호 | 완료 | userfront-e2e/tests/auth-routing.spec.ts |
| F04 | approve 경로 로그인 자동 승인 | 완료 | userfront-e2e/tests/auth-routing.spec.ts |
| F05 | 비밀번호 로그인 성공 | 완료 | userfront-e2e/tests/password-and-reset.spec.ts |
| F06 | 비밀번호 로그인 실패 코드 처리 | 완료 | userfront-e2e/tests/password-and-reset.spec.ts |
| F07 | 비밀번호 재설정 완료 후 signin 이동 | 완료 | userfront-e2e/tests/password-and-reset.spec.ts |
| F08 | 프로필 소속 수정 후 blur 저장 요청 전송 | 완료 | userfront-e2e/tests/profile-department.spec.ts |
| F09 | 프로필 소속 입력 후 즉시 새로고침 시 저장 요청 미전송(재현) | 완료 | userfront-e2e/tests/profile-department.spec.ts |
| F10 | 프로필 소속 동일값 입력 시 저장 요청 미전송 | 완료 | userfront-e2e/tests/profile-department.spec.ts |
| F11 | 프로필 소속 빈값 입력 시 저장 요청 미전송 | 완료 | userfront-e2e/tests/profile-department.spec.ts |
| F12 | 프로필 소속 수정 후 새로고침 뒤 재수정 저장 요청 누락 방지 | 완료 | userfront-e2e/tests/profile-department.spec.ts |
3) 실행/CI
- 로컬 실행:
cd userfront-e2e && npm run test:wasm - CI 워크플로우:
.gitea/workflows/code_check.yml의userfront-e2e-tests잡에서 매 실행 검증 - 현재 스위트 수량: 총 42 테스트(라우트 30 + 인증/리다이렉트 4 + 비밀번호/리셋 3 + 프로필 소속 5)