Skip to main content

Service Realtime Auth Cleanup QA Matrix

Scope​

This matrix validates the attunelogic-service cleanup work around:

  • centralizing socket authentication and connection defaults
  • removing the nested dashboard NotificationProvider
  • preserving realtime behavior for notifications, chat, geolocation, and job live updates
  • ensuring logout fully clears client auth state and stops stale realtime activity
  • confirming deployment workflow messaging matches current CI behavior

This matrix is service-first. API and mobile checklist sections are included for release coordination, but the primary execution target is the web service app.

Environments​

  • API version/branch: paired API environment used by service under test
  • Mobile version/branch: not primary for this matrix; only cross-check if notification/chat payloads are shared with mobile producers
  • Service version/branch: current service cleanup branch under QA
  • App type: service / web app
  • Test tenant(s): one internal admin tenant, one standard customer tenant, one tenant with active notifications/chat traffic

Pre-Test Setup​

  1. Seed or prepare at least one account with unread notifications, one active chat conversation, and one dispatch record with live job or geolocation events available.
  2. Confirm the tenant does not require special feature toggles beyond standard notification/chat/realtime support.
  3. Prepare test users for at least these roles: admin/dispatcher and standard user.
  4. Open the service app in at least two browser tabs or browsers to verify realtime consistency and logout cleanup.
  5. If available, prepare a second client or admin tool that can generate a new notification, chat message, geolocation update, or job update on demand.
  6. Record the API environment URL and verify /health is reachable before starting.

Matrix​

IDAreaScenarioStepsExpected Result
Q1DashboardDashboard loads with app-level notification ownership onlyLog in and open the main dashboardDashboard renders normally, notifications are available, and there is no duplicated notification container behavior
Q2NotificationsExisting notification list and unread stats loadOpen notifications panel on first loadList loads, unread count matches backend state, and no empty/error regression appears for valid data
Q3NotificationsNew notification arrives in realtimeWhile user is logged in on dashboard, trigger a new notificationOne toast appears, unread badge updates, list refreshes, and the same event is not duplicated
Q4NotificationsMark single notification as readMark one unread notification as read from the UIItem read state updates, unread count decrements, and list/stats remain in sync after refresh
Q5NotificationsMark all notifications as readUse the mark-all action on a tenant with multiple unread itemsAll items become read, unread badge resets, and subsequent refresh still shows the same state
Q6NotificationsDelete notificationDelete an existing notification from the panelItem disappears, stats update correctly, and no stale deleted record returns after refresh
Q7ChatRealtime conversation updateOpen chat widget and have another user send a messageConversation list refreshes, active thread updates, and only one new message event is reflected
Q8ChatNotification-to-chat handoffTrigger a chat notification and click/open the related conversation pathCorrect conversation opens, pending conversation handoff works, and no wrong thread is shown
Q9GeolocationLive geolocation subscription updatesOpen the geolocation or dispatch experience and trigger a location updateLocation data refreshes live, connection status remains healthy, and cache invalidation updates the right entity
Q10Job Live UpdatesJob or leg event refreshOpen a job that supports live updates and trigger a related changeRelevant job/leg data refreshes without full page reload and unrelated jobs are not incorrectly refreshed
Q11AuthLogout clears realtime auth stateStay logged in with active notifications/chat, then logoutUser is redirected to login, auth storage is cleared, and no new realtime toasts/messages continue after logout
Q12AuthFresh login after logoutLog out, then log back in with the same userSession restores correctly, notifications/chat reconnect, and realtime behavior resumes normally
Q13RegressionMulti-tab consistencyOpen two tabs as the same user, trigger notification/chat updates, then logout in one tabData stays consistent across tabs, and protected access is eventually blocked after logout cleanup
Q14FailureReconnect after temporary disconnectSimulate offline mode or disconnect/reconnect network while on dashboardApp recovers without hard crash, polling/refetch behavior fills gaps, and realtime resumes when connection returns
Q15PermissionsStandard user accessRepeat key notification/chat actions with a non-admin userAllowed actions still work, unauthorized admin-only flows remain blocked, and no role regression is introduced
Q16Deployment WorkflowService deploy messaging consistencyReview service deployment PR body or workflow summary output during a dry runWorkflow copy reflects build-only validation language and does not claim tests passed

API Verification Checklist​

  • Endpoints touched: none intentionally changed by this service cleanup, but service depends on notification, chat, geolocation, job, and auth/logout endpoints remaining stable
  • Request/response contract changes: none expected
  • Error shape validation: confirm service still handles auth/logout, notifications, chat, and geolocation failures without contract mismatches
  • Status/stage transition checks: verify logout and realtime reconnect behavior against the paired API environment
  • Observability/log checks: confirm no unusual socket auth errors, repeated reconnect loops, or logout-related server warnings appear during QA

Mobile Verification Checklist​

  • Screen/CTA behavior: not primary to this matrix
  • Loading/empty/error states: not primary to this matrix
  • Offline queue/retry behavior: not primary to this matrix
  • Navigation and state consistency: only cross-check if shared notification/chat payload generation is also being validated in the same release

Service Verification Checklist​

  • UI workflow behavior: dashboard, notifications panel, chat widget, geolocation/live dispatch surfaces, and logout/login flows behave as before or better
  • Filters/status rendering consistency: unread counts, read/delete state, conversation updates, and live resource state remain consistent
  • Loading/empty/error states: notifications/chat/geolocation surfaces handle initial load, empty state, and recoverable failure states
  • Data refresh and cache consistency: RTK Query invalidation updates the correct lists/detail views without duplicate events or stale state

Regression Checklist​

  • Backward compatibility validated for existing customer workflows.
  • Tenant config fallback behavior validated.
  • No unrelated feature regressions observed.
  • Dashboard layout still renders correctly after removing nested notification ownership.
  • Legacy cookie/localStorage auth fallback remains functional until full auth migration is complete.

Exit Criteria​

  • All critical/high matrix scenarios pass for at least one admin user and one standard user.
  • No duplicate realtime events, stale post-logout socket behavior, or broken notification/chat flows remain.
  • No unresolved blocker defects exist in notifications, chat, geolocation, or logout.
  • Known risks are documented with mitigation and owner before release.

Known-Risk Notes​

  • The highest-risk regression area is stale socket state after logout.
  • Secondary risk areas are duplicate realtime events and notification/chat cache desynchronization during reconnects.
  • If any realtime issue is intermittent, require repeat validation across multiple tabs/browsers before sign-off.