Your agent built something close to what was asked. But “close” ships silent failures. The subscription status updates but the end date doesn’t. Not a crash. Not a test failure. Just... not right.
Real verification — full cycle
- ✓ Webhook receives valid event (covered)
- ✗ Invalid signature → 401 (your agent never tested this)
- ✗ Subscription end_date actually extends (code updates status, not date — spec drift)
- ? Customer downgrades mid-renewal (edge case)
- ? Duplicate webhook / idempotency (edge case)
- … 9 more behaviors
- 8 unit tests — edge cases, validation, error paths
- 1 integration test — real webhook POST with Stripe signature verification
- 1 e2e test — checkout → payment → subscription active in UI