Files
2026-09-16 23:20:08 +07:00

29 lines
3.7 KiB
Markdown

# Test Cases (กรณีทดสอบ)
## 1. การยืนยันตัวตน (Authentication)
| TC ID | คำอธิบาย | ข้อมูลที่ใช้ทดสอบ | ผลลัพธ์ที่คาดหวัง |
|---|---|---|---|
| TC-AUTH-01 | เข้าสู่ระบบด้วยข้อมูลที่ถูกต้อง | Username=admin, Pass=1234 | เข้าสู่หน้า Dashboard สำเร็จ, มีชื่อแสดง |
| TC-AUTH-02 | เข้าสู่ระบบด้วยรหัสผ่านผิด | Username=admin, Pass=wrong | กลับไปหน้า Login, แสดงข้อความ "ชื่อผู้ใช้งานหรือรหัสผ่านไม่ถูกต้อง" |
| TC-AUTH-03 | ตรวจสอบ CSRF ในหน้า Login | (ยิง POST ผ่าน Postman ไม่มี CSRF) | ถูกปฏิเสธ (403 Forbidden) |
## 2. การขอเดินทาง (Trip Request)
| TC ID | คำอธิบาย | ข้อมูลที่ใช้ทดสอบ | ผลลัพธ์ที่คาดหวัง |
|---|---|---|---|
| TC-TRIP-01 | สร้างคำขอเดินทางครบถ้วน | กรอกครบทุกฟิลด์ | บันทึกลง DB สถานะ "Pending", Redirect ไปหน้าแรกพร้อมขึ้นแจ้งเตือนสำเร็จ |
| TC-TRIP-02 | สร้างคำขอโดยไม่กรอกฟิลด์จำเป็น | เว้นว่าง "สถานที่" | กลับไปหน้าฟอร์มเดิม แสดงข้อความเตือนให้กรอกครบถ้วน |
## 3. การอนุมัติ (Workflow)
| TC ID | คำอธิบาย | ข้อมูลที่ใช้ทดสอบ | ผลลัพธ์ที่คาดหวัง |
|---|---|---|---|
| TC-APP-01 | ผู้อนุมัติเข้าดูรายการ | Login ด้วยบัญชีผู้อนุมัติ | เห็นรายการที่ร้องขอจากพนักงานในตาราง "รอพิจารณา" |
| TC-APP-02 | อนุมัติรายการ (Approve) | กดปุ่ม "อนุมัติ" พร้อมคอมเมนต์ | สถานะใน `trip_requests` และ `trip_approvals` เปลี่ยนเป็น Approved, บันทึก Audit Log |
| TC-APP-03 | ไม่อนุมัติรายการ (Reject) | กดปุ่ม "ไม่อนุมัติ" | สถานะเปลี่ยนเป็น Rejected |
## 4. Google Sheets & PDF Designer
| TC ID | คำอธิบาย | ข้อมูลที่ใช้ทดสอบ | ผลลัพธ์ที่คาดหวัง |
|---|---|---|---|
| TC-INT-01 | ทดสอบหน้าตั้งค่า Sheet | กรอกข้อมูล Spreadsheet ID | บันทึกข้อมูลตั้งค่าสำเร็จ และดึงข้อมูล JSON มาแสดงผลเบื้องต้นได้ |
| TC-INT-02 | ลากวางฟิลด์ลง PDF | ลาก "{fullname}" ไปยัง Canvas | Canvas รับ Object และบันทึกพิกัด X, Y กลับมาได้ |
| TC-INT-03 | ตรวจสอบ XSS | พิมพ์ `<script>alert(1)</script>` ในช่อง Sheet Name | หน้าจอแสดงโค้ดเป็น Text ธรรมดา ไม่เกิด Alert |