Supertest · NestJS Validation และ Error
Query Validation
ตรวจ query ที่ผิด type, ขาดค่า หรืออยู่นอกข้อจำกัด
query ก็เป็น input ที่ต้อง validate
แม้ query จะมาจาก URL แต่ก็เป็นข้อมูลจากภายนอก เช่น `limit` อาจต้องเป็นจำนวนเต็ม `status` อาจต้องอยู่ใน `all | open | done` และ page ต้องไม่ต่ำกว่าหนึ่ง
invalid queryTS
การส่ง query เป็น string ใน HTTP เป็นเรื่องปกติ ให้ test พฤติกรรม transform/validation ตาม contract
แยก invalid query จาก empty result
| กรณี | ตัวอย่าง | expected |
|---|---|---|
| query ถูก แต่ไม่พบรายการ | status=done เมื่อยังไม่มี done | 200 และ items ว่าง |
| query ผิดชนิด | limit=abc | 400 |
| query ผิด enum | status=unknown | 400 |
i
ไม่มีข้อมูลไม่ใช่ validation error
collection ที่ค้นแล้วว่างมักเป็น success response ส่วน query ที่ผิดรูปแบบควร fail ที่ boundary