Extracurricular End-to-End UAT¶
Checklist UAT manual e2e lengkap untuk modul ekstrakurikuler lintas role, dari setup ekskul, pendaftaran siswa, approval anggota, absensi pembina, sampai monitoring orang tua dan wakasek.
Last verified: 2026-05-01
Audience: QA, PM, implementor sekolah, admin kesiswaan, guru BK, guru pembina, wakasek kesiswaan
Workspace root: /home/salfath/scola-fe-v2
Related FE automation: tests/e2e/features/student_affairs/extracurricular_lifecycle.spec.ts
Related QA references: uat-scenarios.md, seed-contract.md, UAT_SETUP_GUIDE.md
1. Tujuan¶
Dokumen ini dipakai untuk menjawab pertanyaan berikut: - apakah seluruh alur operasional ekskul berjalan end-to-end untuk semua role yang terlibat? - apakah hak akses antar role konsisten antara menu, halaman detail, aksi tombol, dan direct URL? - apakah status anggota dan status presensi tampil konsisten di admin, guru pembina, siswa, orang tua, dan monitoring pimpinan?
UAT dinyatakan Pass hanya jika:
1. Admin dapat mengelola master ekskul, anggota, dan status pendaftaran tanpa mismatch data.
2. Guru pembina hanya dapat mengakses ekskul yang memang dibinanya, termasuk saat membuka URL langsung.
3. Guru BK hanya dapat memantau ekskul dari portal counseling dan tidak bisa membuat absensi dari URL langsung.
4. Siswa dapat mendaftar, melihat status, mundur, dan daftar ulang sesuai aturan bisnis.
5. Orang tua dapat memantau ekskul anak dan riwayat presensi dengan status yang benar.
6. Wakasek kesiswaan dapat melakukan monitoring read-only tanpa aksi yang mengubah data.
7. Jumlah anggota, jumlah sesi, dan riwayat presensi konsisten antar halaman yang saling terkait.
2. Scope Workflow¶
2.1 In Scope¶
- list ekskul per role
- create, edit, delete ekskul oleh admin
- buka/tutup pendaftaran
- kapasitas anggota
- approval, rejection, resign, dan re-register anggota
- monitoring jumlah anggota aktif vs pending
- create dan edit sesi absensi oleh guru pembina
- monitoring list sesi absensi oleh BK
- monitoring riwayat presensi oleh siswa, orang tua, dan wakasek
- validasi direct URL dan hidden action per role
- state kosong, state penuh, state pendaftaran ditutup, state tanpa anak, dan state tanpa sesi
2.2 Out of Scope¶
- sinkronisasi backend Odoo record rule di luar perilaku FE yang terlihat
- notifikasi WhatsApp/email eksternal
- laporan PDF atau export jika tidak tersedia di UI ekskul
- provisioning user/seed di luar kebutuhan UAT ekskul
3. Role Matrix¶
| Role | Portal utama | Route utama | Hak yang harus lolos UAT |
|---|---|---|---|
Admin |
Admin kesiswaan | /admin/extracurriculars |
CRUD ekskul, kelola anggota, approval, rejection, resign anggota, monitoring detail penuh |
Guru BK / Counselor |
Counseling | /counseling/extracurriculars |
View-only list, detail, dan list absensi semua ekskul tanpa aksi tambah absensi |
Guru Pembina / Faculty |
Faculty | /faculty/extracurricular |
View ekskul binaan sendiri, create/edit absensi, tidak bisa membuka ekskul milik guru lain |
Siswa |
Student | /student/extracurriculars |
Browse, filter, daftar, lihat status, mundur, daftar ulang, lihat riwayat presensi |
Orang Tua |
Parent | /parent/extracurriculars |
Pantau ekskul anak, pilih anak, lihat status anggota dan riwayat presensi |
Wakasek Kesiswaan |
Vice principal | /vice-principal/student-affairs/extracurricular |
Monitoring read-only daftar ekskul dan status siswa |
Catatan: - Jika tenant memakai role lain yang mewarisi capability yang sama, uji mengikuti portal yang dipakai role tersebut. - Guru mapel non-pembina dipakai sebagai negative case untuk memastikan pembatasan ownership guru pembina benar-benar bekerja.
4. Environment & Akun Uji¶
4.1 Baseline yang Direkomendasikan¶
- FE local:
http://127.0.0.1:5173 - FE demo:
https://dev.gcgscola.id - Backend demo:
https://be-dev.gcgscola.id - Database demo:
scoladev
4.2 Akun Demo yang Sudah Terdokumentasi¶
Mengacu ke docs/demo/DEMO_RUNBOOK.md:
| Role | Login | Password | Status referensi |
|---|---|---|---|
Admin |
admin |
admin |
Terdokumentasi di demo runbook |
Guru Pembina |
guru.demo |
guru.demo |
Terdokumentasi di demo runbook |
Guru BK |
gurubk.demo |
gurubk.demo |
Terdokumentasi di demo runbook |
Orang Tua |
3674000000001013 |
3674000000001013 |
Terdokumentasi di demo runbook |
4.3 Akun yang Harus Disiapkan dari Seed QA atau Tenant UAT¶
Dokumen demo runbook belum mendefinisikan akun siswa dan wakasek khusus untuk ekskul, jadi penguji harus menyiapkan:
| Role | Sumber akun | Kriteria minimal |
|---|---|---|
Siswa |
seed QA / tenant UAT | punya akun portal aktif dan terhubung ke 1 siswa |
Wakasek Kesiswaan |
seed QA / tenant UAT | punya capability monitoring kesiswaan |
Guru non-pembina |
seed QA / tenant UAT | guru aktif yang tidak menjadi coach_id ekskul target |
Jika memakai env QA, gunakan pola dari seed-contract.md:
- E2E_ADMIN_USER / E2E_ADMIN_PASS
- E2E_TEACHER_USER / E2E_TEACHER_PASS
- E2E_STUDENT_USER / E2E_STUDENT_PASS
- E2E_PARENT_USER / E2E_PARENT_PASS
5. Data Uji yang Wajib Ada¶
Siapkan minimal 5 ekskul dengan kombinasi state berikut:
| Kode | Nama contoh | Kondisi yang harus ada |
|---|---|---|
EKS-A |
Basket Reguler | aktif, pendaftaran buka, pembina valid, kuota longgar |
EKS-B |
Paduan Suara Penuh | aktif, pendaftaran buka, kuota penuh |
EKS-C |
Robotik Ditutup | aktif, registration_open = false |
EKS-D |
Voli Rejoin | punya anggota dengan riwayat resigned atau inactive |
EKS-E |
Futsal Presensi | punya minimal 1 sesi absensi dan 2 status presensi berbeda |
Siapkan juga kombinasi user-record berikut:
| Data | Kebutuhan |
|---|---|
| Satu siswa calon anggota | belum punya membership di EKS-A |
| Satu siswa pending | sudah mengajukan ke EKS-A dan belum di-approve |
| Satu siswa aktif | sudah aktif di EKS-E agar riwayat presensi bisa diuji |
| Satu siswa resigned/inactive | pernah anggota EKS-D agar re-register bisa diuji |
| Satu orang tua | terhubung ke siswa aktif atau pending |
| Satu guru pembina sah | menjadi coach_id pada EKS-A dan EKS-E |
| Satu guru non-pembina | tidak menjadi coach_id pada ekskul target |
Checklist sebelum mulai:
- tahun ajaran aktif benar
- data siswa dan parent linkage valid
- coach_id pada ekskul target tidak kosong
- minimal satu ekskul punya member_count > 0
- minimal satu ekskul punya attendance_session_count > 0 atau data sesi aktual
6. Smoke UAT per Role¶
Jalankan smoke singkat ini sebelum masuk ke alur panjang.
| Role | Route minimum | Expected |
|---|---|---|
Admin |
/admin/extracurriculars |
list ekskul terbuka, tidak redirect, tombol tambah terlihat |
Guru BK |
/counseling/extracurriculars |
list terbuka, tidak ada tombol tambah absensi |
Guru Pembina |
/faculty/extracurricular |
hanya melihat ekskul binaan sendiri |
Siswa |
/student/extracurriculars |
daftar ekskul tampil, filter bekerja, tidak ada error kosong |
Orang Tua |
/parent/extracurriculars |
daftar ekskul anak tampil atau state kosong yang informatif |
Wakasek Kesiswaan |
/vice-principal/student-affairs/extracurricular |
monitoring terbuka read-only tanpa tombol aksi siswa |
Jika smoke gagal, hentikan UAT e2e dan perbaiki seed atau akses dulu.
7. Urutan Eksekusi UAT¶
Urutan ini disusun agar state data mengalir natural dari awal sampai akhir:
- Admin membuat atau menyiapkan ekskul target.
- Siswa browse dan mendaftar.
- Admin review pengajuan dan mengubah status anggota.
- Guru pembina mencatat absensi.
- Siswa melihat status dan riwayat presensi.
- Orang tua memonitor status ekskul anak.
- Guru BK memonitor seluruh ekskul dan sesi absensi.
- Wakasek kesiswaan memonitor secara read-only.
- Jalankan negative path dan regresi akses langsung via URL.
- Jalankan edge cases kuota penuh, pendaftaran ditutup, resign, dan re-register.
8. Scenario Matrix¶
| ID | Priority | Role | Workflow | Pass Criteria |
|---|---|---|---|---|
UAT-EKS-ADM-001 |
High | Admin | Create ekskul | Ekskul baru tersimpan dan muncul di list |
UAT-EKS-ADM-002 |
High | Admin | Edit ekskul | Perubahan nama, pembina, kuota, dan status tersimpan |
UAT-EKS-ADM-003 |
High | Admin | Delete ekskul | Hanya ekskul uji yang terhapus dan list refresh |
UAT-EKS-ADM-004 |
High | Admin | Approve pending member | Status siswa berubah ke aktif dan count anggota ter-update |
UAT-EKS-ADM-005 |
Medium | Admin | Reject pending member | Status pending hilang dan alasan penolakan tampil bila ada |
UAT-EKS-ADM-006 |
High | Admin | Resign / remove member | Anggota aktif berpindah ke state non-aktif dan count turun |
UAT-EKS-SIS-001 |
High | Siswa | Browse & register open ekskul | Siswa dapat mengirim pengajuan dan melihat badge pending |
UAT-EKS-SIS-002 |
High | Siswa | View approved membership | Status aktif, detail ekskul, dan kehadiran tampil benar |
UAT-EKS-SIS-003 |
High | Siswa | Resign dari ekskul | Status berubah resigned dan aksi sesuai aturan |
UAT-EKS-SIS-004 |
High | Siswa | Re-register after resigned/inactive | Tombol daftar muncul lagi dan pengajuan baru bisa dibuat |
UAT-EKS-SIS-005 |
Medium | Siswa | Quota full / registration closed | Tombol daftar tidak tersedia dan pesan alasan jelas |
UAT-EKS-FAC-001 |
High | Guru Pembina | View own extracurricular | Hanya ekskul binaan sendiri yang tampil |
UAT-EKS-FAC-002 |
High | Guru Pembina | Create attendance session | Sesi absensi tersimpan dan count sesi bertambah |
UAT-EKS-FAC-003 |
High | Guru Pembina | Edit attendance statuses | Perubahan hadir/izin/sakit/alpa tersimpan |
UAT-EKS-FAC-004 |
High | Guru Pembina | Direct URL unauthorized | Guru non-pembina tidak bisa membuka ekskul milik pembina lain |
UAT-EKS-BK-001 |
High | Guru BK | Monitor list & detail | Dapat melihat ekskul dan statistik tanpa mismatch count |
UAT-EKS-BK-002 |
High | Guru BK | Monitor attendance list | Dapat melihat semua sesi yang ada |
UAT-EKS-BK-003 |
High | Guru BK | Direct URL create blocked | /counseling/extracurriculars/:id/absensi/new tidak bisa dipakai membuat absensi |
UAT-EKS-PRN-001 |
High | Orang Tua | Monitor child extracurricular | Status anggota dan kehadiran anak tampil benar |
UAT-EKS-PRN-002 |
Medium | Orang Tua | Multi child selector | Ganti anak mengganti daftar ekskul dan riwayat dengan benar |
UAT-EKS-VPS-001 |
Medium | Wakasek | Read-only monitoring | Monitoring terbuka tanpa kontrol mutasi data |
UAT-EKS-REG-001 |
High | Cross-role | Session count consistency | Count sesi di detail sama dengan jumlah item di list absensi |
UAT-EKS-REG-002 |
High | Cross-role | Membership consistency | Count anggota aktif konsisten antar admin, siswa, parent, dan BK |
UAT-EKS-REG-003 |
High | Cross-role | Attendance status normalization | permission/izin tampil konsisten lintas role |
9. Detailed Test Cases¶
9.1 Admin¶
UAT-EKS-ADM-001 Admin membuat ekskul baru¶
- Prasyarat: login sebagai
admin - Langkah:
- Buka
/admin/extracurriculars - Klik tombol tambah ekskul
- Isi nama, kategori, pembina, kuota anggota, dan buka pendaftaran
- Simpan
- Expected:
- Toast sukses muncul
- Redirect ke detail atau list tanpa error
- Ekskul baru muncul di list
- Pembina dan kuota yang dipilih tampil benar di detail
UAT-EKS-ADM-002 Admin mengubah konfigurasi ekskul¶
- Prasyarat: ekskul target sudah ada
- Langkah:
- Buka detail ekskul dari
/admin/extracurriculars/:id - Klik edit
- Ubah minimal nama,
registration_open, danmax_members - Simpan
- Expected:
- Perubahan terlihat di detail
- Perubahan tercermin di list
- Student portal menyesuaikan state baru tanpa perlu refresh keras
UAT-EKS-ADM-003 Admin menghapus ekskul uji¶
- Prasyarat: gunakan ekskul dummy yang aman dihapus
- Langkah:
- Buka detail ekskul dummy
- Klik hapus
- Konfirmasi penghapusan
- Expected:
- Ekskul hilang dari list
- Direct URL detail ekskul yang dihapus tidak lagi menampilkan data lama
UAT-EKS-ADM-004 Admin menyetujui pendaftaran siswa¶
- Prasyarat: ada siswa dengan status pending di
EKS-A - Langkah:
- Login admin
- Buka detail
EKS-A - Pindah ke tab atau section anggota menunggu
- Klik setujui pada siswa target
- Expected:
- Toast sukses muncul
- Siswa pindah dari pending ke anggota aktif
- Count anggota aktif bertambah
- Student portal menampilkan status aktif
- Parent portal menampilkan status aktif yang sama
UAT-EKS-ADM-005 Admin menolak pendaftaran siswa¶
- Prasyarat: ada siswa lain dengan status pending
- Langkah:
- Buka detail ekskul target
- Pilih siswa pending
- Klik tolak
- Expected:
- Siswa tidak lagi muncul di daftar pending
- Count anggota aktif tidak berubah
- Student portal tidak lagi menganggap siswa aktif
UAT-EKS-ADM-006 Admin menonaktifkan anggota aktif¶
- Prasyarat: ada siswa aktif di ekskul target
- Langkah:
- Buka detail ekskul
- Pilih anggota aktif
- Jalankan aksi keluarkan/resign sesuai UI
- Expected:
- Count anggota aktif turun
- Status siswa berubah menjadi non-aktif atau resigned
- Jika aturan pendaftaran masih terbuka, siswa bisa daftar ulang pada skenario re-register
9.2 Siswa¶
UAT-EKS-SIS-001 Siswa browse dan mendaftar ekskul yang terbuka¶
- Prasyarat: siswa belum punya membership aktif/pending di
EKS-A - Langkah:
- Login siswa
- Buka
/student/extracurriculars - Cari
EKS-A - Klik daftar
- Isi alasan bila form memintanya
- Kirim pengajuan
- Expected:
- Toast sukses muncul
- Badge status berubah menjadi menunggu/pending
- Tombol daftar tidak muncul lagi untuk ekskul yang sama
UAT-EKS-SIS-002 Siswa melihat status aktif dan histori presensi¶
- Prasyarat: pengajuan siswa sudah di-approve admin dan pembina sudah membuat sesi absensi
- Langkah:
- Login siswa aktif
- Buka
/student/extracurriculars - Buka detail presensi atau histori pada ekskul aktif
- Expected:
- Status anggota aktif tampil
- Persentase/rekap presensi tampil
- Riwayat menampilkan label status yang ramah, misalnya
Hadir,Izin,Sakit,Alpa - Status
permissiontidak tampil sebagai label mentah
UAT-EKS-SIS-003 Siswa mundur dari ekskul¶
- Prasyarat: siswa berstatus aktif pada satu ekskul
- Langkah:
- Buka ekskul aktif dari portal siswa
- Klik aksi mundur/keluar
- Konfirmasi
- Expected:
- Status berubah menjadi resigned atau non-aktif
- Rekap anggota di admin berkurang
- Siswa tidak lagi dihitung sebagai anggota aktif
UAT-EKS-SIS-004 Siswa daftar ulang setelah resigned atau inactive¶
- Prasyarat: siswa punya histori membership
resignedatauinactivepadaEKS-D - Langkah:
- Login sebagai siswa tersebut
- Buka
/student/extracurriculars - Cari
EKS-D - Cek apakah tombol daftar kembali muncul
- Kirim pengajuan baru
- Expected:
- Tombol daftar tersedia
- Pengajuan baru bisa terkirim
- Status baru menjadi pending
- Histori lama tidak memblokir pendaftaran baru
UAT-EKS-SIS-005 Siswa terkena pembatasan kuota atau pendaftaran ditutup¶
- Prasyarat:
EKS-Bpenuh danEKS-Cditutup - Langkah:
- Login siswa yang eligible
- Buka daftar ekskul
- Cari
EKS-BdanEKS-C - Expected:
- Tidak ada tombol daftar untuk kondisi yang diblok
- Alasan blok jelas, misalnya kuota penuh atau pendaftaran ditutup
- Tidak ada cara submit pengajuan via UI
9.3 Guru Pembina¶
UAT-EKS-FAC-001 Guru pembina hanya melihat ekskul binaannya¶
- Prasyarat: guru target menjadi pembina pada
EKS-AdanEKS-E - Langkah:
- Login sebagai
guru.demoatau akun pembina lain - Buka
/faculty/extracurricular - Expected:
- Hanya ekskul dengan
coach_idmilik guru tersebut yang tampil - Ekskul guru lain tidak muncul di list
UAT-EKS-FAC-002 Guru pembina membuat sesi absensi¶
- Prasyarat: ekskul target punya anggota aktif
- Langkah:
- Dari list faculty, buka detail ekskul binaan
- Buka halaman absensi
- Klik tambah sesi
- Simpan sesi
- Expected:
- Toast sukses muncul
- Count sesi di detail bertambah 1
- Sesi baru muncul di
/faculty/extracurricular/:id/absensi - Sesi yang sama muncul di monitoring BK
UAT-EKS-FAC-003 Guru pembina mengubah status kehadiran¶
- Prasyarat: ada sesi absensi ekskul yang bisa diedit
- Langkah:
- Buka detail sesi absensi
- Ubah minimal 3 status: hadir, izin, sakit/alpa
- Simpan
- Expected:
- Perubahan tersimpan
- Student portal dan parent portal menampilkan status yang sama
- Status izin dibaca sebagai
Izin, bukan label mentah yang berbeda
UAT-EKS-FAC-004 Guru non-pembina tidak bisa bypass direct URL¶
- Prasyarat: ada guru aktif yang bukan pembina ekskul target
- Langkah:
- Login sebagai guru non-pembina
- Buka langsung
/faculty/extracurricular/:id - Buka juga
/faculty/extracurricular/:id/absensi - Coba
/faculty/extracurricular/:id/absensi/new - Expected:
- User diarahkan kembali ke
/faculty/extracurricularatau ditolak dengan state aman - Data ekskul milik guru lain tidak tampil
- Tidak ada form draft absensi yang bisa dipakai
9.4 Guru BK / Counselor¶
UAT-EKS-BK-001 Guru BK memonitor daftar dan detail ekskul¶
- Prasyarat: login
gurubk.demo - Langkah:
- Buka
/counseling/extracurriculars - Pilih satu ekskul
- Expected:
- Semua ekskul sekolah dapat dimonitor
- Summary detail tampil
- Count anggota dan sesi tidak kosong palsu
UAT-EKS-BK-002 Guru BK melihat daftar sesi absensi¶
- Prasyarat: ekskul target punya minimal 1 sesi absensi
- Langkah:
- Dari detail ekskul counseling, buka halaman absensi
- Cocokkan daftar sesi dengan data yang dibuat pembina
- Expected:
- Semua sesi yang valid muncul
- Jumlah item di list sama dengan count sesi di detail
UAT-EKS-BK-003 Guru BK tidak bisa membuat absensi dari direct URL¶
- Prasyarat: login
gurubk.demo - Langkah:
- Buka
/counseling/extracurriculars/:id/absensi/newsecara langsung - Coba juga buka URL dengan nilai non-numerik lain jika perlu
- Expected:
- Halaman tidak membuka mode create tersembunyi
- User diarahkan ke list absensi atau halaman aman lain
- Tidak ada tombol simpan untuk membuat sesi
9.5 Orang Tua¶
UAT-EKS-PRN-001 Orang tua memonitor ekskul anak¶
- Prasyarat: anak memiliki membership aktif atau pending
- Langkah:
- Login parent
- Buka
/parent/extracurriculars - Pilih anak jika tersedia selector
- Buka kartu ekskul target
- Expected:
- Status anggota anak sesuai data terbaru
- Nama ekskul, pembina, dan ringkasan kehadiran tampil
- Riwayat presensi memakai label status yang konsisten
UAT-EKS-PRN-002 Orang tua mengganti anak pada multi-child selector¶
- Prasyarat: parent terhubung ke lebih dari 1 siswa
- Langkah:
- Login parent multi-child
- Pilih anak A dan catat daftar ekskul
- Ganti ke anak B
- Expected:
- Daftar ekskul dan status berubah mengikuti anak aktif
- Data anak A tidak tertinggal di tampilan anak B
9.6 Wakasek Kesiswaan¶
UAT-EKS-VPS-001 Wakasek memonitor tanpa aksi mutasi data¶
- Prasyarat: login sebagai wakasek kesiswaan
- Langkah:
- Buka
/vice-principal/student-affairs/extracurricular - Lakukan browse dan pencarian
- Buka detail salah satu ekskul
- Expected:
- Data monitoring tampil
- Tidak ada tombol daftar, approve, tambah sesi, atau edit absensi
- Terminologi halaman bersifat monitoring/read-only
9.7 Cross-Role Consistency & Regression¶
UAT-EKS-REG-001 Count sesi konsisten antara detail dan list absensi¶
- Prasyarat: pembina baru saja menambah satu sesi pada ekskul target
- Langkah:
- Catat count sesi pada detail faculty
- Buka list absensi faculty
- Ulangi cek dari counseling detail dan list absensi
- Expected:
- Count sesi dan jumlah item list sama
- Tidak ada kondisi detail
1 sesitetapi list kosong
UAT-EKS-REG-002 Count anggota aktif konsisten lintas portal¶
- Prasyarat: ada kombinasi anggota aktif, pending, dan resigned
- Langkah:
- Lihat count anggota di admin detail
- Cek status di portal siswa terkait
- Cek status yang sama di parent
- Cek monitoring BK
- Expected:
- Hanya anggota aktif yang dihitung sebagai aktif
- Pending tidak menaikkan count aktif
- Resigned/inactive tidak memblokir re-register
UAT-EKS-REG-003 Status presensi konsisten lintas role¶
- Prasyarat: satu sesi punya kombinasi
present,permission,sick, danabsent - Langkah:
- Cek form pembina
- Cek riwayat di siswa
- Cek riwayat di parent
- Expected:
- Semua role membaca status dengan label yang semakna
permissiontidak hilang, tidak berubah abu-abu default, dan tidak tampil sebagai string mentah
10. Negative & Edge Cases Tambahan¶
Jalankan minimal satu kali per tenant UAT:
| ID | Skenario | Expected |
|---|---|---|
NEG-EKS-001 |
Siswa tanpa relasi student record membuka portal ekskul | Muncul state kosong atau pesan panduan, bukan error runtime |
NEG-EKS-002 |
Parent tanpa child linkage membuka portal ekskul | Muncul state kosong aman |
NEG-EKS-003 |
Ekskul tanpa pembina dibuka admin | Admin tetap bisa edit, tetapi faculty tidak boleh mendapat akses tanpa ownership |
NEG-EKS-004 |
Ekskul tanpa sesi absensi dibuka BK, siswa, dan parent | Muncul state kosong yang konsisten, bukan mismatch count |
NEG-EKS-005 |
Student refresh setelah status diubah admin | Status terbaru muncul tanpa perlu logout/login ulang permanen |
NEG-EKS-006 |
Browser back/forward setelah aksi daftar atau approve | UI tidak menampilkan state lawas yang menyesatkan |
11. Evidence & Sign-Off Template¶
Untuk setiap skenario, simpan minimal:
- role yang dipakai
- route yang diuji
- nama ekskul target
- screenshot sebelum dan sesudah aksi utama
- hasil Pass, Fail, atau Blocked
- catatan bug jika ada mismatch data, akses, atau wording
Template rekap:
| ID | Role | Route | Data Uji | Hasil | Bukti | Catatan |
|---|---|---|---|---|---|---|
UAT-EKS-ADM-004 |
Admin | /admin/extracurriculars/12 |
Basket Reguler / siswa A | Pass | screenshot | count anggota naik dari 9 ke 10 |
Kriteria sign-off:
1. Semua skenario high priority Pass.
2. Tidak ada bug otorisasi direct URL yang memungkinkan mutasi data oleh role read-only.
3. Tidak ada mismatch count anggota atau count sesi antar halaman utama.
4. Tidak ada label status presensi yang berbeda arti antar role.
12. Referensi Teknis FE Saat Audit¶
Dokumen ini disusun berdasarkan struktur FE modul ekskul saat ini:
- admin manage: src/views/CounselingManagement/Ekstrakurikuler/Admin/
- counselor dan faculty: src/views/CounselingManagement/Ekstrakurikuler/
- student portal: src/views/StudentViews/Extracurricular/StudentExtracurricular.vue
- parent portal: src/views/ParentViews/Counseling/ParentExtracurricular.vue
- route fragments:
- src/router/studentServicesRoutes.js
- src/router/counselingRoutes.js
- src/router/studentRouteFragments/counselingCommunity.js
- src/router/parentRouteFragments/counseling.js
- src/router/vicePrincipalRoutes.js
Jika FE flow berubah, perbarui dokumen ini bersamaan dengan perubahan route atau capability terkait.