Supertest · ส่งข้อมูลใน Request
Route Parameters
ส่ง identifier ผ่าน path และตรวจ behavior ของ route parameter
Route parameter อยู่ใน path
Route parameter คือค่าที่ route ประกาศไว้ เช่น `/todos/:id` เราส่งค่าผ่าน path string ไม่ใช่ query string เพราะ server ใช้ตำแหน่งใน URL เพื่อเลือก resource
ทดสอบ valid, invalid และ missing id
| input | ตัวอย่าง path | expected |
|---|---|---|
| valid id | /todos/7 | 200 และ Todo id 7 |
| รูปแบบผิด | /todos/not-a-number | 400 จาก boundary validation |
| ไม่มี resource | /todos/404 | 404 Not Found |
กฎสำคัญ
path
อย่าใช้ query แทน route โดยไม่อ่าน contract
`/todos/7` กับ `/todos?id=7` อาจไปคนละ handler แม้ดูเหมือนค้นหา resource เดียวกัน
behavior
ชื่อ parameter ไม่ใช่ค่าที่ assert เสมอไป
สิ่งสำคัญคือ path ถูก map และ response สื่อ resource ที่ต้องการ ไม่ใช่การตรวจชื่อ local variable