test(notify): add comprehensive tests for notification system
- Floor-plan renderer: 300x300 PNG dimensions, zone boundary pixel
coordinates, blob colors (identified green, fall red, unknown blue)
- Batching: 3 LOW events produce 1 merged notification; URGENT bypasses
batch queue and sends immediately
- Quiet hours gate: LOW suppressed, URGENT delivered; midnight-crossing
range handled correctly
- Morning digest: queued events bundled and sent at digest time;
sendMorningDigest clears queue and sets digestSentToday flag
- ntfy delivery: mock HTTP server verifies Title/Tags/Priority headers
and body; image attachment in X-Image header
- Webhook delivery: JSON structure verified, base64 PNG image field
decoded correctly; custom headers forwarded
- Test-notification endpoint: integration tests for ntfy and webhook
channels with real HTTP mock servers
- Coverage: 81.2% on internal/notify (exceeds 80% requirement)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>