think
16px
820px

Blackbox Testing — Verifier Workspace (Apostille & Legalisasi)

  • Domain: Apostille & Legalisasi
  • Fitur: Verifier Workspace (Panel Keputusan Verifikator)
  • Role/aktor: verifikator_apostille
  • Tanggal uji: 2026-08-19
  • Penguji (sesi): Supervisor Apostille
  • Build/commit: 63c40a17 (dev/4)

1. Ringkasan fitur

Setelah pemohon mengirim (IN_VERIFICATION), verifikator meninjau permohonan pada halaman review dan mengambil keputusan APPROVE, REVISE (Minta Perbaikan), atau REJECT (Tolak). Setiap keputusan wajib disertai catatan. APPROVE mensyaratkan verifikator mencentang konfirmasi perbandingan tanda tangan dan memberi verdict tanda tangan (MATCH) untuk tiap pejabat penandatangan. APPROVE menyelesaikan permohonan (COMPLETED), REVISE mengembalikan ke pemohon (READY), REJECT menutup permohonan (COMPLETED, ditolak). Panel juga menampilkan AI advisory (deterministik dari hasil validasi) dan info fast-track/SLA.

2. Full workflow

2.1 Diagram state

stateDiagram-v2 [*] --> IN_VERIFICATION: pemohon submit IN_VERIFICATION --> COMPLETED: APPROVE / REJECT IN_VERIFICATION --> READY: REVISE (dikembalikan) COMPLETED --> [*]

2.2 Sequence (aktor - sistem)

sequenceDiagram actor V as verifikator_apostille participant FE as ApostilleReviewPage participant BE as Backend V->>FE: Buka review (IN_VERIFICATION) FE->>BE: GET /api/submissions/:id/review BE-->>FE: dokumen + signer + AI advisory V->>FE: (APPROVE) tandai verdict tanda tangan per pejabat FE->>BE: POST /:id/documents/:docId/signature-verdict { MATCH } V->>FE: Isi catatan + centang konfirmasi TTD + Setujui FE->>BE: POST /:id/decide { APPROVE, notes, signatureConfirmed } BE->>BE: gate notes + signatureConfirmed + signerConfirmationGate + FAIL BE-->>FE: COMPLETED

2.3 Peta route & UI

Langkah Route Komponen Elemen Selector
Review verifikator /apostille/permohonan/:id/review ApostilleReviewPage (mode verifikator) panel keputusan -
AI advisory idem AiAdvisoryPanel ringkasan otomatis -
Keputusan idem ApostilleDecisionPanel tombol Setujui/Minta Perbaikan/Tolak, textarea catatan, checkbox TTD teks tombol, placeholder "Catatan keputusan (wajib diisi)..."
Bandingkan TTD idem SignatureCompareModal navigasi spesimen aria-label="Spesimen sebelumnya/berikutnya"
Verdict TTD POST /:id/documents/:docId/signature-verdict - MATCH/MISMATCH -

3. Prasyarat & data uji

ID data Tipe Berkas Deskripsi Ekspektasi sistem
D-POS-30 Positive apostille_elektronik_nosk sampai IN_VERIFICATION Permohonan siap diputuskan Panel keputusan tampil
D-NEG-40 Negative decision selain APPROVE/REJECT/REVISE Keputusan tidak valid 400 BAD_DECISION
D-NEG-41 Negative catatan kosong Tanpa catatan 400 NOTES_REQUIRED
D-NEG-42 Negative APPROVE tanpa centang TTD signatureConfirmed != true 400 SIGNATURE_NOT_CONFIRMED
D-NEG-43 Negative APPROVE tanpa verdict signer signer belum diberi verdict 400 SIGNER_NOT_CONFIRMED
D-NEG-44 Negative decide di status non-IN_VERIFICATION READY/COMPLETED 409 WRONG_STATUS / SUBMISSION_LOCKED

4. Matriks skenario uji

ID Tipe Lapisan Langkah ringkas Ekspektasi Hasil aktual Status Bukti
TC-VER-01 Positive UI Buka review verifikator, panel keputusan render Setujui/Minta Perbaikan/Tolak + catatan tampil; Setujui disabled Sesuai PASS verifier-decision-panel.png
TC-VER-02 Negative API decide "MAYBE" 400 BAD_DECISION Sesuai PASS verifier.spec
TC-VER-03 Negative API APPROVE catatan kosong 400 NOTES_REQUIRED Sesuai PASS verifier.spec
TC-VER-04 Negative API APPROVE tanpa signatureConfirmed 400 SIGNATURE_NOT_CONFIRMED Sesuai PASS verifier.spec
TC-VER-05 Negative API decide REVISE saat status READY 409 WRONG_STATUS Sesuai PASS curl live
TC-VER-06 Positive API Set verdict MATCH lalu APPROVE 200 COMPLETED/APPROVE Sesuai PASS verifier.spec + live c49fc0a2
TC-VER-07 Negative API decide lagi setelah COMPLETED ditolak (SUBMISSION_LOCKED) Sesuai PASS verifier.spec

5. Cakupan UI (semua yang diakses user)

Route/Elemen Diuji? Perilaku benar? Catatan
Panel keputusan (Setujui/Minta Perbaikan/Tolak) Ya Ya Render + state disabled Setujui
Textarea catatan keputusan Ya Ya Wajib diisi
Checkbox konfirmasi perbandingan TTD Ya (render) Ya Gate APPROVE
AI advisory panel Sebagian - Tampil pada review; isi deterministik dari validasi
SignatureCompareModal (spesimen) Tidak - Butuh spesimen; tidak ada file spesimen di lingkungan uji
Verdict tanda tangan (MATCH/MISMATCH) Ya (API) Ya Wajib untuk APPROVE

6. Temuan bug & perbaikan

ID bug Severity Ringkas Reproduksi Ekspektasi Aktual Screenshot Rekomendasi perbaikan
OBS-VER-01 Info Dokumen ELEKTRONIK yang punya pejabat ter-OCR tetap butuh verdict TTD saat APPROVE Ajukan dokumen elektronik dengan nama pejabat terbaca, lalu APPROVE (kebijakan) Gate SIGNER_NOT_CONFIRMED muncul; verifikator harus set verdict MATCH - Konfirmasi apakah dokumen elektronik (TTE) semestinya dikecualikan dari verdict TTD manual, atau memang wajib. Bila TTE cukup diverifikasi elektronik, pertimbangkan mengecualikan tipe ELEKTRONIK dari signerConfirmationGate

Tidak ada bug fungsional. OBS-VER-01 adalah pertanyaan kebijakan, bukan cacat.

7. Ringkasan & rekomendasi

  • Total skenario: 7 (PASS 7 / FAIL 0)
  • Cakupan UI: panel keputusan + catatan + checkbox teruji; SignatureCompareModal tidak (tidak ada spesimen)
  • Bug: High 0, Med 0, Low 0 (1 observasi kebijakan)
  • Rekomendasi prioritas: klarifikasi kebijakan verdict TTD untuk dokumen elektronik (OBS-VER-01).
  • Gap/keterbatasan: Perbandingan tanda tangan terhadap spesimen tidak dapat diuji karena tidak ada file spesimen dan signatureVerifyConfigured=false, specimenMinioConfigured=false di lingkungan ini ("butuh data/lingkungan"). AI advisory hanya diamati sekilas.