31

PWA — Installability & Push Notifications (v8.0)

5 test cases · 18 verification points
UAT-31.1

Web App Manifest

Medium
Precondition: Chrome DevTools available

Steps

  1. Open Chrome DevTools → Application → Manifest

Verify (5 checks)

  • Manifest loaded with name "Fovea"
  • Icons array includes 192px and 512px sizes
  • Display mode is standalone
  • Theme color is purple (#6d28d9 or similar)
  • Start URL is /
ScoreTesterDateNotes
____________
UAT-31.2

Service Worker Registration

Medium
Precondition: Chrome DevTools available

Steps

  1. Open Chrome DevTools → Application → Service Workers

Verify (2 checks)

  • sw.js registered and shows "activated and is running"
  • No registration errors in console
ScoreTesterDateNotes
____________
UAT-31.3

Offline Fallback

Medium
Precondition: Service worker registered

Steps

  1. Open DevTools → Network → set to Offline
  2. Navigate to any page

Verify (3 checks)

  • Branded offline page shown (not browser default)
  • Page has purple gradient and retry button
  • No unhandled promise rejection errors in console
ScoreTesterDateNotes
____________
UAT-31.4

Install Prompt

Medium
Precondition: Chrome desktop, not already installed

Steps

  1. Open Fovea in Chrome
  2. Wait for install banner at bottom of page
  3. Click X to dismiss

Verify (4 checks)

  • Install banner appears with "Install Fovea" text
  • Clicking Install shows native install dialog
  • Dismissing stores preference in localStorage
  • Banner does not reappear after dismissal
ScoreTesterDateNotes
____________
UAT-31.5

Push Notification Subscription

Medium
Precondition: VAPID keys configured in env vars, user logged in

Steps

  1. Login as authenticated user
  2. Check DevTools → Application → Push Messaging

Verify (4 checks)

  • Push subscription created on login
  • /api/push/subscribe called successfully (200 response)
  • PushSubscription record created in database
  • Browser prompt for notification permission shown
ScoreTesterDateNotes
____________
← Module 30: SSO — Okta & Azure AD (v8.0)Module 32: Integrations — Slack, Google Drive, Salesforce, HubSpot (v8.0) →