29 lines
3.7 KiB
Markdown
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 |
|