Supertest · JWT Authentication และ Request State
Invalid และ Expired Token
ตรวจ token ที่ผิดรูปแบบ หมดอายุ หรือ verify ไม่ผ่าน
token มีหลาย failure mode
token ที่ไม่มี header, รูปแบบผิด, signature ไม่ผ่าน หรือหมดอายุ ล้วนเป็น credential ที่ server ไม่ควรเชื่อถือ แยก test เพื่อให้รู้ว่า guard ปฏิเสธ boundary แต่ละแบบอย่างไร
ใน suite จริงควรแยก test ตาม intent เพื่อ failure output ที่อ่านง่ายกว่า loop เดียว
อย่าสร้าง expired token แบบพึ่งเวลาจริงเกินไป
เวลาเป็นสาเหตุของ flaky test ได้ ใช้ fixture ที่สร้างด้วย clock ที่ควบคุมได้ หรือ token fixture ที่รู้ว่า expired แล้ว และทำให้ test ระบุชัดว่ากำลังตรวจ expiration ไม่ใช่ signature failure
ไม่ต้องตรวจ implementation ของ JWT library
E2E ควรยืนยันว่า protected route ตอบ 401 และไม่ทำงานต่อ ส่วนรายละเอียดการ sign/verify เป็นหน้าที่ของ unit/integration test ที่เหมาะกว่า