Supertest · ส่งข้อมูลใน Request
Multipart Upload ด้วย `.attach()`
ทดสอบ endpoint ที่รับไฟล์และ fields ใน multipart request
ทดสอบ multipart ด้วย `.attach()`
Multipart request ใช้เมื่อส่งไฟล์ร่วมกับ fields อื่น เช่น avatar หรือ attachment ใน Supertest ให้ `.attach(fieldName, filePath)` และใช้ `.field()` สำหรับ metadata ที่ส่งร่วมกัน
multipart file uploadTS
field name ต้องตรงกับ interceptor หรือ file handler ของ NestJS
fixture ของไฟล์ต้อง deterministic
| สิ่งที่ต้องเตรียม | เหตุผล | failure ที่มักพบ |
|---|---|---|
| ไฟล์อยู่ใน repo test fixture | ทุกเครื่องหา path ได้ | ENOENT |
| ชื่อ field ตรงกับ API | interceptor รับไฟล์ถูกตัว | file ไม่ถูกอ่าน |
| ตรวจ type/size ของไฟล์ | พิสูจน์ behavior ที่สำคัญ | test ผ่านทั้งที่ upload ผิด |
i
อย่าใช้ไฟล์จากเครื่องผู้เขียน
path เช่น `/Users/name/Desktop/avatar.png` ทำให้ test ใช้ได้คนเดียว ใช้ไฟล์ fixture ที่มีใน project และอ้าง path แบบคาดเดาได้