# UAT Test Scenarios

## Authentication

| Scenario ID | Module         | Scenario                                         | Persona     |
| ----------- | -------------- | ------------------------------------------------ | ----------- |
| AUTH-TS-001 | Authentication | Login ด้วยบัญชี Super Admin สำเร็จ               | Super Admin |
| AUTH-TS-002 | Authentication | Login ด้วยบัญชี HRD Admin สำเร็จ                 | HRD Admin   |
| AUTH-TS-003 | Authentication | Login ด้วยบัญชี Employee สำเร็จ                  | Employee    |
| AUTH-TS-004 | Authentication | เปิด protected route โดยไม่ login ต้องถูกป้องกัน | All         |

## Dashboard / Navigation

| Scenario ID | Module     | Scenario                         | Persona |
| ----------- | ---------- | -------------------------------- | ------- |
| DASH-TS-001 | Dashboard  | Dashboard แสดงข้อมูลตาม persona  | All     |
| DASH-TS-002 | Navigation | Sidebar แสดงเมนูตาม role ถูกต้อง | All     |
| DASH-TS-003 | Navigation | ผู้ใช้ไม่เห็นเมนูที่ไม่มีสิทธิ์  | All     |

## Organizers

| Scenario ID | Module     | Scenario                                  | Persona     |
| ----------- | ---------- | ----------------------------------------- | ----------- |
| ORG-TS-001  | Organizers | ดูรายการ organizers ได้                   | Super Admin |
| ORG-TS-002  | Organizers | สร้าง organizer ใหม่ได้                   | Super Admin |
| ORG-TS-003  | Organizers | ผู้ใช้ที่ไม่ใช่ Super Admin เข้าถึงไม่ได้ | HRD Admin   |

## Users / Employee Directory

| Scenario ID | Module             | Scenario                                                       | Persona   |
| ----------- | ------------------ | -------------------------------------------------------------- | --------- |
| USER-TS-001 | Users              | เปิดรายการผู้ใช้และใช้ search / filter / sort / pagination ได้ | HRD Admin |
| USER-TS-002 | Users              | สร้างผู้ใช้ใหม่ใน organization ปัจจุบันได้                     | HRD Admin |
| USER-TS-003 | Users              | แก้ไขข้อมูลผู้ใช้ได้                                           | HRD Admin |
| EMP-TS-001  | Employee Directory | ดู directory ได้และ filter ได้                                 | HRD Admin |
| EMP-TS-002  | Employee Directory | เปิดรายละเอียดพนักงานได้                                       | HRD Admin |
| EMP-TS-003  | Employee Directory | ปรับ training target รายบุคคลได้                               | HRD Admin |
| EMP-TS-004  | Employee Directory | Employee เข้าถึง employee directory ไม่ได้                     | Employee  |

## Courses / Training Policy / Training Matrix

| Scenario ID | Module          | Scenario                                        | Persona   |
| ----------- | --------------- | ----------------------------------------------- | --------- |
| CRS-TS-001  | Courses         | ดูรายการหลักสูตรและค้นหาได้                     | HRD Admin |
| CRS-TS-002  | Courses         | สร้างหลักสูตรใหม่ได้                            | HRD Admin |
| CRS-TS-003  | Courses         | แก้ไขหลักสูตรได้                                | HRD Admin |
| POL-TS-001  | Training Policy | สร้างหรือแก้ไข training policy ได้              | HRD Admin |
| TMX-TS-001  | Training Matrix | สร้าง matrix rule ตาม department / position ได้ | HRD Admin |
| TMX-TS-002  | Training Matrix | ดู compliance data ได้                          | HRD Admin |

## Training Records / Approval

| Scenario ID | Module           | Scenario                                      | Persona              |
| ----------- | ---------------- | --------------------------------------------- | -------------------- |
| TR-TS-001   | Training Records | HRD Admin สร้าง training record ให้พนักงานได้ | HRD Admin            |
| TR-TS-002   | Training Records | Employee สร้าง training record ของตนเองได้    | Employee             |
| TR-TS-003   | Training Records | Save Draft ได้                                | HRD Admin / Employee |
| TR-TS-004   | Training Records | Submit training record ได้                    | HRD Admin / Employee |
| TR-TS-005   | Training Records | แนบ certificate ที่รองรับได้                  | HRD Admin / Employee |
| TR-TS-006   | Pending Review   | Reviewer อนุมัติรายการได้                     | HRD Admin            |
| TR-TS-007   | Pending Review   | Reviewer ตีกลับรายการเพื่อแก้ไขได้            | HRD Admin            |
| TR-TS-008   | Training Records | Employee เห็นเฉพาะรายการของตนเอง              | Employee             |
| TR-TS-009   | Training Records | Employee แก้ approved record ไม่ได้           | Employee             |

## Announcements

| Scenario ID | Module        | Scenario                                                        | Persona              |
| ----------- | ------------- | --------------------------------------------------------------- | -------------------- |
| ANN-TS-001  | Announcements | HRD Admin สร้าง announcement ได้                                | HRD Admin            |
| ANN-TS-002  | Announcements | HRD Admin แก้ไข announcement ได้                                | HRD Admin            |
| ANN-TS-003  | Announcements | Employee เห็นเฉพาะ announcement ที่ published และอยู่ในช่วงเวลา | Employee             |
| ANN-TS-004  | Announcements | แนบ attachment และเปิดดูได้                                     | HRD Admin / Employee |

## Online Lessons

| Scenario ID | Module         | Scenario                                | Persona   |
| ----------- | -------------- | --------------------------------------- | --------- |
| OLS-TS-001  | Online Lessons | HRD Admin สร้าง online lesson ได้       | HRD Admin |
| OLS-TS-002  | Online Lessons | HRD Admin แก้ไข lesson และไฟล์ประกอบได้ | HRD Admin |
| OLS-TS-003  | Online Lessons | Employee เห็นเฉพาะ lesson ที่ published | Employee  |
| OLS-TS-004  | Online Lessons | Filter ตาม category และ search ได้      | All       |

## Reports / Export

| Scenario ID | Module  | Scenario                                       | Persona              |
| ----------- | ------- | ---------------------------------------------- | -------------------- |
| RPT-TS-001  | Reports | HRD Admin ดู report แบบ organization scope ได้ | HRD Admin            |
| RPT-TS-002  | Reports | Employee ดูได้เฉพาะ transcript ของตนเอง        | Employee             |
| RPT-TS-003  | Reports | Export Excel ได้                               | HRD Admin / Employee |
| RPT-TS-004  | Reports | Export PDF ได้                                 | HRD Admin / Employee |

## Notifications

| Scenario ID | Module        | Scenario                               | Persona |
| ----------- | ------------- | -------------------------------------- | ------- |
| NTF-TS-001  | Notifications | เปิดรายการ notification และ filter ได้ | All     |
| NTF-TS-002  | Notifications | mark as read รายการเดียวได้            | All     |
| NTF-TS-003  | Notifications | mark all as read ได้                   | All     |

## Import Employees / Master Review

| Scenario ID | Module           | Scenario                                           | Persona   |
| ----------- | ---------------- | -------------------------------------------------- | --------- |
| IMP-TS-001  | Import Employees | ดาวน์โหลด template import ได้                      | HRD Admin |
| IMP-TS-002  | Import Employees | import ไฟล์ `.xlsx` แล้วได้ summary/result ถูกต้อง | HRD Admin |
| IMP-TS-003  | Import Employees | ดาวน์โหลด error summary ได้เมื่อ import มี error   | HRD Admin |
| MREV-TS-001 | Master Review    | ดูรายการ master data pending review ได้            | HRD Admin |
| MREV-TS-002 | Master Review    | approve / reject master review item ได้            | HRD Admin |

## Permission Management

| Scenario ID | Module                | Scenario                                             | Persona     |
| ----------- | --------------------- | ---------------------------------------------------- | ----------- |
| PERM-TS-001 | Permission Templates  | ดูรายการ templates ได้                               | Super Admin |
| PERM-TS-002 | Permission Templates  | สร้าง template ได้                                   | Super Admin |
| PERM-TS-003 | Permission Templates  | แก้ไข / clone template ได้                           | Super Admin |
| PERM-TS-004 | Permission Templates  | activate / deactivate / soft delete template ได้     | Super Admin |
| PERM-TS-005 | User Permissions      | assign template และ override permission ให้ user ได้ | Super Admin |
| PERM-TS-006 | Permission Matrix     | ดู permission catalog / matrix ได้                   | Super Admin |
| PERM-TS-007 | Permission Audit Logs | ดู audit logs ของ permission actions ได้             | Super Admin |

## Audit Logs

| Scenario ID | Module     | Scenario                      | Persona              |
| ----------- | ---------- | ----------------------------- | -------------------- |
| AUD-TS-001  | Audit Logs | Super Admin ดู audit logs ได้ | Super Admin          |
| AUD-TS-002  | Audit Logs | ผู้ใช้ทั่วไปเข้าถึงไม่ได้     | HRD Admin / Employee |

## Negative / Validation / Scope

| Scenario ID | Module      | Scenario                                                     | Persona              |
| ----------- | ----------- | ------------------------------------------------------------ | -------------------- |
| NEG-TS-001  | Validation  | required field ต้องแสดงข้อความผิดพลาดที่เข้าใจได้            | All                  |
| NEG-TS-002  | Upload      | ไฟล์ผิดประเภทหรือเกินขนาดต้องถูกปฏิเสธ                       | All                  |
| NEG-TS-003  | RBAC        | ผู้ใช้ข้าม organization scope ไม่ได้                         | All                  |
| NEG-TS-004  | Reports     | Employee ปรับ query string แล้วต้องยังเห็นเฉพาะข้อมูลตนเอง   | Employee             |
| NEG-TS-005  | Permissions | ผู้ใช้ไม่มีสิทธิ์ไม่สามารถเปิดหน้า permission management ได้ | HRD Admin / Employee |
