Supertest · Todo CRUD E2E
Partial Update ด้วย PATCH
ทดสอบการแก้เฉพาะ field และผลกระทบต่อข้อมูลเดิม
PATCH เปลี่ยนเฉพาะ field ที่ส่ง
สร้าง Todo ที่มีหลาย field แล้วส่ง PATCH เพียง field เดียว จากนั้นอ่านกลับและ assert ทั้ง field ที่เปลี่ยนและ field ที่ต้องคงเดิม นี่คือหลักฐานของ partial update ที่ชัดที่สุด
partial update แล้วตรวจ stateTS
PATCH ที่ดีป้องกัน accidental reset
กฎสำคัญ
evidence
Arrange ต้องมี field ที่ไม่ได้ patch
ถ้า Todo เดิมมีแค่ completed จะพิสูจน์ไม่ได้ว่า title ถูกเก็บไว้
state
อ่านกลับหลัง update
response ของ PATCH เป็นหลักฐานหนึ่ง แต่ follow-up GET ยืนยัน state ที่ persistence คืนจริง
validation
invalid patch ต้องถูก validate
partial ไม่ได้แปลว่า field ที่ส่งจะข้าม DTO rules
หาก API ออกแบบ PATCH ให้รับ empty patch หรือไม่รับ extra field ต้องบันทึก behavior นั้นใน contract และเขียน test แยก ไม่ควรเดาจากชื่อ method