<tr><th>ID</th><th>Judul Test Case</th><th>Langkah Utama</th><th>Expected Result</th><th>Role</th><th>Hasil</th><th>Issue/Jawaban</th></tr>
<tr><td>🎯</td><td>📌 Ready to Test!</td><td>🚀 Let's Go!</td><td>✨ Good Luck!</td><td>👥 All Roles</td><td>🎉 Fun!</td><td>📝 Notes...</td></tr>
<tr><td>TC-001</td><td>Login Berhasil 🔐</td><td>Login dengan username & password valid</td><td>Redirect ke dashboard sesuai role 🎯</td><td>AUTENTIKASI & SESI 🔑</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-002</td><td>Login Gagal - Username Salah 🚫</td><td>Masukkan username tidak ada</td><td>Error "Invalid credentials" ⚠️</td><td>AUTENTIKASI & SESI 🔐</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-003</td><td>Login Gagal - Password Salah 🙅</td><td>Password salah</td><td>Error invalid credentials 🚨</td><td>AUTENTIKASI & SESI 🔐</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-004</td><td>Login Gagal - Akun Terkunci 🔒</td><td>Login ke akun locked dari legacy</td><td>Error "Account locked" 🛑</td><td>AUTENTIKASI & SESI 🔐</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-005</td><td>Logout Berhasil 👋</td><td>Klik menu Logout</td><td>Session terhapus, redirect ke login ✨</td><td>AUTENTIKASI & SESI 🔑</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-006</td><td>Redirect ke Login Belum Login 🔄</td><td>Akses protected page tanpa login</td><td>Redirect otomatis ke halaman login 🚪</td><td>AUTENTIKASI & SESI 🛡️</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-007</td><td>Ganti Password Berhasil 🔑</td><td>Change password baru</td><td>Password berhasil diubah dan di-hash ✅</td><td>AUTENTIKASI & SESI 🆕</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-008</td><td>Ganti Password Gagal - Password Lama Salah ❌</td><td>Masukkan password lama salah</td><td>Error "Invalid old password" 🚫</td><td>AUTENTIKASI & SESI 🔐</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-009</td><td>Role-Based Redirect Login 👥</td><td>Login dengan berbagai role</td><td>Redirect ke dashboard sesuai role 🎯</td><td>AUTENTIKASI & SESI 🎭</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-010</td><td>Tampilkan Semua Request 📊</td><td>Login Superuser → <code>/superuser</code></td><td>Tabel requests semua status ditampilkan 📋</td><td>SU, ADM, PHLEB, CS</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-011</td><td>Filter by Status 🎛️</td><td>Pilih status di dashboard filter</td><td>Filter berfungsi sesuai status 🔍</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-012</td><td>Filter by Date Range 📅</td><td>Set date1 & date2 → filter</td><td>Filter tanggal berfungsi 🗓️</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-013</td><td>Search by Patient Name 👤</td><td>Masukkan nama pasien</td><td>Tampilkan request dengan nama tsb 🔍</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-014</td><td>Search by Lab Number 🔢</td><td>Masukkan Lab Number</td><td>Tampilkan request tsb 🎯</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-015</td><td>Search by Register Number #️⃣</td><td>Masukkan Register Number</td><td>Tampilkan request tsb 📌</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-018</td><td>Tampilkan List User 👥</td><td>Access <code>/superuser/users</code></td><td>Tabel users ditampilkan lengkap 📋</td><td>SU, ADM</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-019</td><td>Buat User Baru ➕</td><td>Add User → isi form</td><td>User berhasil dibuat dan password di-hash 🆔</td><td>SU, ADM</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-020</td><td>Validasi Password Min 3 Karakter 🔢</td><td>Buat user dengan password < 3 char</td><td>Error "Password min 3 karakter" ⚠️</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-021</td><td>Update User Role ✏️</td><td>Edit user → ubah role</td><td>Role berhasil diubah 🔄</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-022</td><td>Update Password User 🔐</td><td>Edit user → ganti password</td><td>Password di-hash dengan benar 🔄</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-023</td><td>Delete User 🗑️</td><td>Delete user</td><td>User terhapus dari database 🗑️</td><td>SU, ADM</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-024</td><td>Tampilkan Request Final ✨</td><td>Access <code>/superuser/validate</code></td><td>Hanya request "Fin" yang tampil ✅</td><td>SU, ADM, LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-025</td><td>Filter by Date Range Validasi 📅</td><td>Set date1 & date2 → filter</td><td>Filter berfungsi di halaman validasi 🔍</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-027</td><td>Second Validation (VAL2) ✅✅</td><td>Validasi dengan user berbeda</td><td>ISVAL2=1, request duavalidated 🎉</td><td>SU, ADM, LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-028</td><td>Gagal Validasi Sendiri 🚫</td><td>Coba validasi ulang sama user</td><td>Error "Cannot validate own request" 🙅</td><td>SU, ADM, LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-035</td><td>Print Label Individu 🏷️</td><td>Print label per tube</td><td>Label tercetak dengan ZPL format 🖨️</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-039</td><td>Filter by Category 🎯</td><td>Filter: All, Validation, Receive, Sample</td><td>Filter berfungsi sesuai kategori 🔍</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-043</td><td>Generate PDF 📑</td><td>Generate PDF request validated</td><td>PDF berhasil di-generate ✅</td><td>SU, ADM, LAB, CS</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-044</td><td>Preview Report (No Audit) 👀</td><td>Preview report tanpa log audit</td><td>Report tampil, tidak ada audit log 📄</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-045</td><td>English Version Report 🇬🇧</td><td>Access <code>/report/{id}/eng</code></td><td>Report dalam Bahasa Inggris 🗣️</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-046</td><td>Edit Comment ✏️</td><td>Edit comment di dashboard</td><td>Comment berubah tersimpan 💾</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-047</td><td>Error Handling 404 🚫</td><td>Akses URL tidak valid</td><td>Custom notfound page tampil 📄</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-048</td><td>Error Handling Unauthorized 🔒</td><td>Coba akses role lain</td><td>Redirect ke <code>/unauthorized</code> 🚫</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-049</td><td>Filter & Search 🔍</td><td>Uji berbagai filter dan search</td><td>Semua berfungsi seperti Superuser ⚡</td><td>ADMIN, PHLEB, CS</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-054</td><td>Update User 🔄</td><td>Edit user → ubah data</td><td>User berhasil di-update ✅</td><td>ADMIN</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-055</td><td>Cannot Access Role Lain 🚫</td><td>Coba <code>/superuser</code>, <code>/lab</code>, <code>/phlebo</code>, <code>/cs</code></td><td>Redirect ke unauthorized/error ⛔</td><td>ADM, LAB, PHLEB, CS</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-056</td><td>Filter Test Code Alphabetical 🔤</td><td>Login Lab → <code>/lab</code></td><td>Hanya request TESTS A-Z yang tampil 📋</td><td>LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-058</td><td>Filter & Search dalam Batas Filter 🔍</td><td>Uji filter & search</td><td>Sesuai batas test code A-Z ✅</td><td>LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-069</td><td>User Mgmt Role Restrictions 🔐</td><td>Lab/Phlebo/CS coba user management API</td><td>Error unauthorized 🚫</td><td>FITUR CROSS-ROLE 🔗</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-070</td><td>Cross-Role Validation 🤝</td><td>Lab A validasi VAL1, Superuser B validasi VAL2</td><td>Cross-role validation berhasil ✅</td><td>FITUR CROSS-ROLE 🔄</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-071</td><td>Un-Validate Role Restrictions 🔒</td><td>Lab/Phlebo/CS coba un-validate</td><td>Error unauthorized - only SU/Admin 🚫</td><td>FITUR CROSS-ROLE 🛡️</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-072</td><td>Un-Receive Role Restrictions 🔒</td><td>Lab/Phlebo/CS coba un-receive</td><td>Error unauthorized - only SU/Admin 🚫</td><td>FITUR CROSS-ROLE 🛡️</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-073</td><td>Report Access Restrictions 👁️</td><td>Coba view report semua role</td><td>SU/Admin/Lab/CS OK, Phlebo NOT ✅❌</td><td>FITUR CROSS-ROLE 🔍</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-074</td><td>Report Validated Requirement ✅✅</td><td>View report hanya VAR1 vs duavalidated</td><td>Hanya duavalidated dapat dilihat 🎯</td><td>FITUR CROSS-ROLE ✅</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-076</td><td>Validasi tidak Pengaruhi Data Lain 🛡️</td><td>Record data sebelum & sesudah validasi</td><td>Hanya status validasi berubah 📝</td><td>FITUR CROSS-ROLE 🔍</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-077</td><td>Un-Validate Mempertahankan Data 🔄</td><td>Record data sebelum & sesudah un-validate</td><td>Hanya status validasi berubah 📝</td><td>FITUR CROSS-ROLE 🔍</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-078</td><td>Audit Trail Logging 📜</td><td>Lakukan berbagai aktivitas</td><td>Semua tercatat di audit log ✅</td><td>FITUR CROSS-ROLE 🔍</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-079</td><td>Concurrent Validation ⚡</td><td>2 user buka validation dialog bersamaan</td><td>Validasi berhasil, tidak conflict ✅</td><td>FITUR CROSS-ROLE 🤝</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-080</td><td>Concurrent Sample Collection ⚡</td><td>2 user collect tube berbeda bersamaan</td><td>Semua berhasil tercatat ✅</td><td>FITUR CROSS-ROLE 🧪</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-082</td><td>Password Hashing Security 🔒</td><td>Buat user → cek database</td><td>Password dalam HASH bukan plain 🛡️</td><td>FITUR CROSS-ROLE 🔐</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-083</td><td>Legacy Read-Only 👀</td><td>Cek koneksi & fungsi Firebird</td><td>Hanya READ dari Firebird, TIDAK WRITE 🚫✍️</td><td>FITUR CROSS-ROLE 🗄️</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-002</td><td>Login Gagal - Username / Password Salah 🚫</td><td>Salah username / salah password</td><td>Error "Invalid credentials" ⚠️</td><td>AUTENTIKASI & SESI 🔐</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-003</td><td>Logout Berhasil 👋</td><td>Klik menu Logout</td><td>Session terhapus, redirect ke login ✨</td><td>AUTENTIKASI & SESI 🔑</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-004</td><td>Redirect ke Login Belum Login 🔄</td><td>Akses protected page tanpa login</td><td>Redirect otomatis ke halaman login 🚪</td><td>AUTENTIKASI & SESI 🛡️</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-005</td><td>Ganti Password Berhasil 🔑</td><td>Change password baru</td><td>Password berhasil diubah dan di-hash ✅</td><td>AUTENTIKASI & SESI 🆕</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-006</td><td>Ganti Password Gagal - Password Lama Salah ❌</td><td>Masukkan password lama salah</td><td>Error "Invalid old password" 🚫</td><td>AUTENTIKASI & SESI 🔐</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-007</td><td>Role-Based Redirect Login 👥</td><td>Login dengan berbagai role</td><td>Redirect ke dashboard sesuai role 🎯</td><td>AUTENTIKASI & SESI 🎭</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-008</td><td>Tampilkan Semua Request 📊</td><td>Login Superuser → <code>/superuser</code></td><td>Tabel requests semua status ditampilkan 📋</td><td>SU, ADM, PHLEB, CS</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-009</td><td>Filter by Status 🎛️</td><td>Pilih status di dashboard filter</td><td>Filter berfungsi sesuai status 🔍</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-010</td><td>Filter by Date Range 📅</td><td>Set date1 & date2 → filter</td><td>Filter tanggal berfungsi 🗓️</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-011</td><td>Search by Patient Name 👤</td><td>Masukkan nama pasien</td><td>Tampilkan request dengan nama tsb 🔍</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-012</td><td>Search by Lab Number 🔢</td><td>Masukkan Lab Number</td><td>Tampilkan request tsb 🎯</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-013</td><td>Search by Register Number #️⃣</td><td>Masukkan Register Number</td><td>Tampilkan request tsb 📌</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-016</td><td>Tampilkan List User 👥</td><td>Access <code>/superuser/users</code></td><td>Tabel users ditampilkan lengkap 📋</td><td>SU, ADM</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-017</td><td>Buat User Baru ➕</td><td>Add User → isi form</td><td>User berhasil dibuat dan password di-hash 🆔</td><td>SU, ADM</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-018</td><td>Validasi Password Min 3 Karakter 🔢</td><td>Buat user dengan password < 3 char</td><td>Error "Password min 3 karakter" ⚠️</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-019</td><td>Update User Role ✏️</td><td>Edit user → ubah role</td><td>Role berhasil diubah 🔄</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-020</td><td>Update Password User 🔐</td><td>Edit user → ganti password</td><td>Password di-hash dengan benar 🔄</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-021</td><td>Delete User 🗑️</td><td>Delete user</td><td>User terhapus dari database 🗑️</td><td>SU, ADM</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-022</td><td>Tampilkan Request Final ✨</td><td>Access <code>/superuser/validate</code></td><td>Hanya request "Fin" yang tampil ✅</td><td>SU, ADM, LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-023</td><td>Filter by Date Range Validasi 📅</td><td>Set date1 & date2 → filter</td><td>Filter berfungsi di halaman validasi 🔍</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-025</td><td>Second Validation (VAL2) ✅✅</td><td>Validasi dengan user berbeda</td><td>ISVAL2=1, request duavalidated 🎉</td><td>SU, ADM, LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-026</td><td>Gagal Validasi Sendiri 🚫</td><td>Coba validasi ulang sama user</td><td>Error "Cannot validate own request" 🙅</td><td>SU, ADM, LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-030</td><td>Print Label Individu 🏷️</td><td>Print label per tube</td><td>Label tercetak dengan ZPL format 🖨️</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-034</td><td>Filter by Category 🎯</td><td>Filter: All, Validation, Receive, Sample</td><td>Filter berfungsi sesuai kategori 🔍</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-038</td><td>Generate PDF 📑</td><td>Generate PDF request validated</td><td>PDF berhasil di-generate ✅</td><td>SU, ADM, LAB, CS</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-039</td><td>Preview Report (No Audit) 👀</td><td>Preview report tanpa log audit</td><td>Report tampil, tidak ada audit log 📄</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-040</td><td>English Version Report 🇬🇧</td><td>Access <code>/report/{id}/eng</code></td><td>Report dalam Bahasa Inggris 🗣️</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-041</td><td>Error Handling 404 🚫</td><td>Akses URL tidak valid</td><td>Custom notfound page tampil 📄</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-042</td><td>Error Handling Unauthorized 🔒</td><td>Coba akses role lain</td><td>Redirect ke <code>/unauthorized</code> 🚫</td><td>SU</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-043</td><td>Filter & Search 🔍</td><td>Uji berbagai filter dan search</td><td>Semua berfungsi seperti Superuser ⚡</td><td>ADMIN, PHLEB, CS</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-046</td><td>Update User 🔄</td><td>Edit user → ubah data</td><td>User berhasil di-update ✅</td><td>ADMIN</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-047</td><td>Cannot Access Role Lain 🚫</td><td>Coba <code>/superuser</code>, <code>/lab</code>, <code>/phlebo</code>, <code>/cs</code></td><td>Redirect ke unauthorized/error ⛔</td><td>ADM, LAB, PHLEB, CS</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-048</td><td>Filter Test Code Alphabetical 🔤</td><td>Login Lab → <code>/lab</code></td><td>Hanya request TESTS A-Z yang tampil 📋</td><td>LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-050</td><td>Filter & Search dalam Batas Filter 🔍</td><td>Uji filter & search</td><td>Sesuai batas test code A-Z ✅</td><td>LAB</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-061</td><td>User Mgmt Role Restrictions 🔐</td><td>Lab/Phlebo/CS coba user management API</td><td>Error unauthorized 🚫</td><td>FITUR CROSS-ROLE 🔗</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-062</td><td>Cross-Role Validation 🤝</td><td>Lab A validasi VAL1, Superuser B validasi VAL2</td><td>Cross-role validation berhasil ✅</td><td>FITUR CROSS-ROLE 🔄</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-063</td><td>Un-Validate Role Restrictions 🔒</td><td>Lab/Phlebo/CS coba un-validate</td><td>Error unauthorized - only SU/Admin 🚫</td><td>FITUR CROSS-ROLE 🛡️</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-064</td><td>Un-Receive Role Restrictions 🔒</td><td>Lab/Phlebo/CS coba un-receive</td><td>Error unauthorized - only SU/Admin 🚫</td><td>FITUR CROSS-ROLE 🛡️</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-065</td><td>Report Access Restrictions 👁️</td><td>Coba view report semua role</td><td>SU/Admin/Lab/CS OK, Phlebo NOT ✅❌</td><td>FITUR CROSS-ROLE 🔍</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-066</td><td>Report Validated Requirement ✅✅</td><td>View report hanya VAR1 vs duavalidated</td><td>Hanya duavalidated dapat dilihat 🎯</td><td>FITUR CROSS-ROLE ✅</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-068</td><td>Validasi tidak Pengaruhi Data Lain 🛡️</td><td>Record data sebelum & sesudah validasi</td><td>Hanya status validasi berubah 📝</td><td>FITUR CROSS-ROLE 🔍</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-069</td><td>Un-Validate Mempertahankan Data 🔄</td><td>Record data sebelum & sesudah un-validate</td><td>Hanya status validasi berubah 📝</td><td>FITUR CROSS-ROLE 🔍</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-070</td><td>Audit Trail Logging 📜</td><td>Lakukan berbagai aktivitas</td><td>Semua tercatat di audit log ✅</td><td>FITUR CROSS-ROLE 🔍</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-071</td><td>Concurrent Validation ⚡</td><td>2 user buka validation dialog bersamaan</td><td>Validasi berhasil, tidak conflict ✅</td><td>FITUR CROSS-ROLE 🤝</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-072</td><td>Concurrent Sample Collection ⚡</td><td>2 user collect tube berbeda bersamaan</td><td>Semua berhasil tercatat ✅</td><td>FITUR CROSS-ROLE 🧪</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-074</td><td>Password Hashing Security 🔒</td><td>Buat user → cek database</td><td>Password dalam HASH bukan plain 🛡️</td><td>FITUR CROSS-ROLE 🔐</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
<tr><td>TC-075</td><td>Legacy Read-Only 👀</td><td>Cek koneksi & fungsi Firebird</td><td>Hanya READ dari Firebird, TIDAK WRITE 🚫✍️</td><td>FITUR CROSS-ROLE 🗄️</td><td><inputtype="checkbox"> ✅ <br><inputtype="checkbox"> ❌</td><td><inputtype="text"value="___________"></td></tr>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.