-
Notifications
You must be signed in to change notification settings - Fork 14
Health Notifications Tests
Health notification system including eye rest, stretch reminders, and break notifications with modal interface and pause functionality.
Objective: Verify eye rest notifications appear at configured intervals
Prerequisites: Extension installed, eye rest interval set to 20 minutes, notifications enabled
Priority: High | Category: Health Notifications
Steps:
- Start tracking activity
- Work continuously for 20 minutes
- Verify eye rest notification appears
- Click "Got it!" button
- Verify positive feedback message appears
Expected Result:
- Notification appears exactly after 20 minutes
- Modal blocks UI (if modal setting enabled)
- Timer auto-pauses when modal appears
- Timer auto-resumes when modal dismissed
- Positive feedback message displayed
Objective: Verify eye rest snooze works correctly
Prerequisites: Extension installed, eye rest notifications enabled
Priority: High | Category: Health Notifications
Steps:
- Start tracking and wait for eye rest notification
- Click "Pause Timer" button
- Verify timer pauses
- Resume work after a few minutes
- Verify timer resumes when activity detected
Expected Result:
- Timer immediately pauses when "Pause Timer" clicked
- Time tracking stops accumulating
- Timer automatically resumes when user starts typing again
- No lost time or session data
Objective: Verify stretch notifications appear at configured intervals
Prerequisites: Extension installed, stretch interval set to 45 minutes, notifications enabled
Priority: High | Category: Health Notifications
Steps:
- Start tracking activity
- Work continuously for 45 minutes
- Verify stretch notification appears
- Click "Will do!" button
- Verify positive feedback message appears
Expected Result:
- Notification appears exactly after 45 minutes
- Modal has correct message about stretching
- Timer auto-pauses/resumes correctly
- Encouraging feedback provided
Objective: Verify stretch reminder snooze works correctly
Prerequisites: Extension installed, stretch notifications enabled
Priority: High | Category: Health Notifications
Steps:
- Start tracking and wait for stretch notification
- Click "Pause Timer" button
- Verify timer pauses immediately
- Wait several minutes without activity
- Resume coding and verify timer resumes
Expected Result:
- Timer pauses immediately when button clicked
- No time accumulation during pause
- Timer resumes automatically when coding resumes
- Stretch timer resets after acknowledging
Objective: Verify break notifications appear after 2+ hours
Prerequisites: Extension installed, break threshold set to 120 minutes, notifications enabled
Priority: High | Category: Health Notifications
Steps:
- Start tracking activity
- Work continuously for 2+ hours
- Verify break notification appears (Error level)
- Select one of the break duration options
- Verify timer pauses for selected duration
Expected Result:
- Notification appears after exactly 2 hours
- Notification uses Error level (red, urgent)
- Message emphasizes health importance
- Multiple break duration options available
- Timer pauses for selected break duration
Objective: Verify all break duration options work correctly
Prerequisites: Extension installed, break notifications enabled
Priority: High | Category: Health Notifications
Steps:
- Work for 2+ hours to trigger break notification
- Test each break option:
- "Quick stretch (5 min)"
- "Eye rest (10 min)"
- "Coffee break (15 min)"
- "Proper break (20 min)"
- Verify timer pauses for correct duration
Expected Result:
- Each option pauses timer for specified duration
- Timer automatically resumes after break period
- Break acknowledgment resets the 2-hour threshold
- User receives appropriate feedback
Objective: Verify notifications respect modal setting
Prerequisites: Extension installed with access to settings
Priority: Medium | Category: Configuration
Steps:
- Set modalNotifications to true
- Trigger any health notification
- Verify modal behavior (blocks UI)
- Set modalNotifications to false
- Trigger another notification
- Verify non-modal behavior
Expected Result:
- Modal true: Notification blocks UI, requires user action
- Modal false: Notification appears but doesn't block UI
- Timer pause/resume only works with modal enabled
- Setting change takes effect immediately
Objective: Verify timer automatically pauses/resumes with modal notifications
Prerequisites: Extension installed, modal notifications enabled
Priority: High | Category: Timer Integration
Steps:
- Start tracking activity
- Trigger any health notification
- Verify timer pauses when modal appears
- Interact with modal (any button)
- Verify timer resumes when modal disappears
Expected Result:
- Timer status shows paused when modal appears
- No time accumulation during modal display
- Timer automatically resumes without user action
- Status bar reflects correct state throughout
Objective: Verify multiple notification types work together correctly
Prerequisites: Extension installed, all notifications enabled with default intervals
Priority: Medium | Category: Integration
Steps:
- Start tracking
- Work continuously to trigger multiple notification types
- Verify timing independence (eye rest at 20min, stretch at 45min, break at 120min)
- Check that notifications don't interfere with each other
Expected Result:
- Each notification type maintains independent timing
- No conflicts between notification types
- All timers continue correctly after any notification
- Each type shows appropriate messages and options
Objective: Verify all health notification settings work correctly
Prerequisites: Extension installed with configuration access
Priority: Medium | Category: Configuration
Steps:
- Change eye rest interval to custom value (e.g., 15 minutes)
- Change stretch interval to custom value (e.g., 30 minutes)
- Change break threshold to custom value (e.g., 90 minutes)
- Disable/enable notifications
- Test each configuration change
Expected Result:
- Custom intervals are respected exactly
- Settings changes take effect immediately
- Disabling notifications stops all health reminders
- Re-enabling restarts timers from current time
Objective: Verify behavior when user quickly dismisses modals
Prerequisites: Extension installed, modal notifications enabled
Priority: Low | Category: Edge Cases
Steps:
- Trigger health notification
- Quickly dismiss modal without clicking buttons
- Verify timer behavior
- Trigger another notification immediately
- Test rapid button clicking
Expected Result:
- System handles rapid dismissal gracefully
- Timer state remains consistent
- No duplicate notifications or timer issues
- User actions are processed correctly
Objective: Verify notifications don't appear during legitimate breaks
Prerequisites: Extension installed, notifications enabled
Priority: Medium | Category: User Experience
Steps:
- Work until break notification appears
- Select a break duration option
- Stop all activity during break period
- Resume work after break
- Verify notification timing resets appropriately
Expected Result:
- Break acknowledgment resets notification timer
- System recognizes legitimate break time
- Notifications resume with fresh timing when work resumes
- No inappropriate notifications during actual breaks
Objective: Verify toggle command for health notifications works correctly
Prerequisites: Extension installed with command access
Priority: Low | Category: Commands
Steps:
- Execute "SCTT: Toggle Health Notifications" command
- Verify notifications are disabled
- Try to trigger notifications through normal workflow
- Execute toggle command again
- Verify notifications are re-enabled
Expected Result:
- Toggle command immediately enables/disables all health notifications
- Status is clearly communicated to user
- Disabled state prevents all health notifications
- Re-enabling resumes normal notification schedule
- VS Code with extension installed
- Access to VS Code settings
- Ability to modify extension configuration
- Timer capability for precise timing verification
- Various workspace configurations
- Different notification interval settings
- Modal and non-modal configurations
- Test scenarios for all notification types
- Health notifications should not impact VS Code performance
- Modal notifications should be responsive
- Timer accuracy should be maintained across all scenarios
Related Tests: Core Features Tests | Configuration Tests | Test Case Index