NestJS
NestJS Service Testing (Repository Contract)
บทนี้เปลี่ยนเป็น Todo CRUD แบบ unit-first โดยเน้นการทดสอบ service ที่คุยกับ repository ผ่าน contract ชัดเจน แต่ละ CRUD แยกเป็น accordion หลัก และมี nested test cases เพื่อไล่ตั้งแต่ happy path ไปจนถึง edge/error path แบบ 3A
Todo Service + Repository Contract
ให้มอง `TodoService` เป็น owner ของ business rules และมอง `TodoRepository` เป็น dependency contract ที่ต้องถูก assert ทั้งการเรียก method, input mapping, และ error mapping แบบเป็นระบบ
Todo CRUD Service Testing Playbook
แยกการทดสอบ Todo CRUD ด้วย accordion ชั้นนอก และใช้ accordion ชั้นในเพื่อเปิดดู test cases ตามสถานการณ์จริงแบบ 3A