Pengujian
Unit
bun run test:unit menjalankan Vitest pada tests/unit. Tes ini memeriksa matching, readiness, permission, kebijakan upload, ketersediaan target, dan Proyek singkat tanpa membuka browser. Saat mengubah aturan domain, tambahkan kasus batas yang sesuai, seperti penilaian kedaluwarsa atau dicabut.
Integration dan security
bun run test:database membuat tmp/test.db, menerapkan migrasi, mengisi fixture, lalu menjalankan tes integration dan security. Gunakan database uji yang terpisah.
Jalankan bun run test:integration atau bun run test:security untuk satu kelompok saja. bun run test menjalankan tes unit lalu database. Reset fixture jika perlu, tetapi jangan gunakan data production sebagai fixture.
Kasus penting mencakup:
- kandidat lain mengakses atau mengubah Karya yang bukan miliknya;
- role benar tetapi organisasi salah;
- verifier tidak ditugaskan, scope salah, atau grant tidak aktif;
- mutasi tanpa sesi atau dengan origin yang tidak sah;
- versi stale dan command idempotent yang diulang;
- assessment dicabut dan share kedaluwarsa/dicabut;
- rollback perubahan terkait bila transaksi gagal.
E2E
bunx playwright install chromium
bun run build
bun run test:e2ePlaywright membuka Chromium ke server production lokal di 127.0.0.1:3100. Atur PLAYWRIGHT_BASE_URL untuk memakai server uji yang sudah berjalan. Pastikan server itu memakai database fixture yang terpisah.
live-golden-loop.spec.ts mencakup kandidat, verifier, HR, outcome, dan pencabutan. Tes E2E lain memeriksa registrasi, target, manifest, revisi, dan route penting pada layar kecil.
Dokumentasi, Help, dan tur
Periksa /help dalam keadaan awal, ada hasil, dan tanpa hasil. Pastikan tautan artikel serta FAQ bisa dipakai dengan keyboard. Buka /docs dan periksa navigasi pengguna serta developer. Untuk tur, periksa lewati, selesai, mulai ulang, refresh, reduced motion, elemen yang tersembunyi di mobile, dialog/form aktif, dan localStorage yang diblokir.
Jangan biarkan tur onboarding menutupi alur E2E produk. Tutup tur seperti pengguna, atau atur preferensi seen pada tes yang memang tidak menguji onboarding.
Sebelum mengirim perubahan, jalankan bun run typecheck, bun run lint, tes yang relevan, dan bun run build. Setelah itu, periksa tampilan pada lebar 320 px dan coba alurnya dengan keyboard; build saja belum cukup.