test(05): verification (12/12 code) + persist 5 human UAT items
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
---
|
||||
status: testing
|
||||
phase: 05-web-push-notifications
|
||||
source: [05-VERIFICATION.md]
|
||||
started: 2026-06-10T02:46:43Z
|
||||
updated: 2026-06-10T02:46:43Z
|
||||
---
|
||||
|
||||
## Current Test
|
||||
|
||||
number: 1
|
||||
name: iOS PWA install → push subscription → 15-min reminder receipt
|
||||
expected: |
|
||||
After adding FamilySync to the Home Screen on an iOS 16.4+ device and tapping
|
||||
"Enable Notifications", a push notification appears on the lock screen ~15
|
||||
minutes before a shared Family-calendar timed event starts.
|
||||
awaiting: user response
|
||||
|
||||
## Tests
|
||||
|
||||
### 1. iOS PWA install → push subscription → 15-min reminder receipt
|
||||
expected: After adding FamilySync to the Home Screen on an iOS 16.4+ device and tapping "Enable Notifications", a push notification appears on the lock screen ~15 minutes before a shared Family-calendar timed event starts.
|
||||
why_human: iOS-Safari standalone push delivery cannot be driven by playwright-cli per CLAUDE.md — requires a physical iOS device + Home Screen install.
|
||||
result: [pending]
|
||||
|
||||
### 2. iOS push subscription does not receive NotAllowedError
|
||||
expected: Tapping "Enable Notifications" on iOS in the installed PWA (or the Settings toggle) successfully calls pushManager.subscribe() without throwing NotAllowedError. Both vapidKey and swRegistration are pre-resolved in state before the tap.
|
||||
why_human: NEW-CR-01 fix is verified in code (zero awaits between tap and subscribe()), but runtime confirmation on a physical iOS device is the only way to close this.
|
||||
result: [pending]
|
||||
|
||||
### 3. iOS subscription health-check keeps subscription alive after 1+ week of inactivity
|
||||
expected: After a week without opening the app, opening it again silently re-subscribes (if permission still granted) and notifications continue to be delivered.
|
||||
why_human: Requires real elapsed time and a physical iOS device. Cannot be simulated.
|
||||
result: [pending]
|
||||
|
||||
### 4. Android FCM: event-change push arrives after the other member modifies a calendar event
|
||||
expected: When member A modifies a shared event title/time/location, member B receives a push notification on Android within the next 5-minute poll cycle, showing "A updated an event" with the event title.
|
||||
why_human: End-to-end push delivery through FCM to a real Android device with a subscribed session cannot be driven by playwright-cli.
|
||||
result: [pending]
|
||||
|
||||
### 5. List-change push coalescing is observable
|
||||
expected: Member B making 5 rapid grocery-list edits results in a SINGLE push notification to member A (not 5), naming the actor and the list, arriving after the 45-second coalesce window.
|
||||
why_human: Requires two devices/sessions, real timing, and real push delivery. Playwright-cli can exercise the API hooks but not multi-device push receipt.
|
||||
result: [pending]
|
||||
|
||||
## Summary
|
||||
|
||||
total: 5
|
||||
passed: 0
|
||||
issues: 0
|
||||
pending: 5
|
||||
skipped: 0
|
||||
blocked: 0
|
||||
|
||||
## Gaps
|
||||
Reference in New Issue
Block a user