Testing contract
Setiap domain baru minimal memiliki test untuk happy path, validation error, unauthenticated request, forbidden organization, tenant mismatch, not found, stale/expired lifecycle, dan duplicate/idempotency case. Capability berbayar juga menguji entitlement denial terpisah dari permission denial.
Smoke setelah deploy
GET /healthz
GET /api
GET /api/v1/meta
OPTIONS /api/<protected-route>
GET public route
GET protected route dengan token fixtureFixture auth harus menggunakan test user dan organization khusus. Jangan memakai production token atau data customer nyata. Contract test memastikan envelope error dan status code tetap kompatibel dengan web/mobile. Event consumer harus diuji terhadap duplicate, out-of-order, dan poison event; integration test tidak boleh memakai join/transaksi lintas database.