Scola E2E Tests¶
Panduan ringkas untuk menjalankan suite E2E Playwright yang aktif di repo ini.
Last verified: 2026-03-17
1. Baseline yang Terbukti¶
Untuk validasi FE lokal yang terhubung ke backend dev server:
# 1. Buat/refresh session semua role QA
E2E_ODOO_URL=https://be-dev.gcgscola.id npx playwright test tests/e2e/setup-auth.spec.ts --project=setup --workers=1
# 2. Smoke Starter
E2E_ODOO_URL=https://be-dev.gcgscola.id npm run test:e2e:smoke:starter
# 3. Smoke Professional
E2E_ODOO_URL=https://be-dev.gcgscola.id npm run test:e2e:smoke:professional
Catatan:
- FE lokal default tetap http://localhost:5173, tetapi untuk target backend remote Playwright sekarang memulai Vite fresh sendiri dan tidak me-reuse server lama secara default.
- Backend dev yang terbukti merespons adalah https://be-dev.gcgscola.id
- Kredensial QA dibaca dari .env.e2e.local
- Gunakan E2E_REUSE_EXISTING_SERVER=true hanya jika Anda memang sengaja ingin memakai Vite yang sudah hidup dan sudah yakin proxy /api mengarah ke backend yang benar.
2. Peta Suite¶
| Kebutuhan | Command | Scope |
|---|---|---|
| Setup auth | npx playwright test tests/e2e/setup-auth.spec.ts --project=setup --workers=1 |
Membuat session role admin, admin_staff, teacher, student, parent |
| Starter smoke | npm run test:e2e:smoke:starter |
Baseline Tier 1 / Starter tanpa CBT |
| Professional smoke | npm run test:e2e:smoke:professional |
Starter + CBT |
| P0 flow | npm run test:e2e:flow:p0 |
Journey lintas role prioritas tinggi |
| Full Playwright | npx playwright test |
Semua suite yang aktif |
Referensi struktur suite ada di qa-suite-structure.md.
3. Strategi Auth¶
Suite E2E aktif memakai auth berbasis session, bukan UI login:
- POST /web/session/authenticate untuk membuat session_id
- POST /api/auth/session untuk mengambil payload user FE
- localStorage dan sessionStorage di-seed dari helper tests/e2e/helpers/auth.ts
Tujuannya:
- mengurangi flakiness login UI
- menjaga suite tetap cepat
- menyamakan perilaku setup-auth, smoke, dan flow tests
4. Bukti & Troubleshooting¶
Jika test gagal, cek urutan ini:
1. E2E_ODOO_URL mengarah ke backend yang benar
2. setup-auth masih lulus
3. jika memakai E2E_REUSE_EXISTING_SERVER=true, pastikan Vite yang hidup memang mem-proxy ke target yang benar
4. seed data dan role credentials tersedia
Runbook detail ada di qa-playwright-runbook.md.
Panduan prinsip testing ada di testing-guidelines.md.
Cheat sheet harian ada di quick-reference.md.