-
Notifications
You must be signed in to change notification settings - Fork 13
Core Features Tests
Core time tracking functionality including start/stop, activity detection, and session management.
Objective: Verify that time tracking starts and stops correctly
Prerequisites: Extension installed and activated
Priority: High | Category: Core Functionality
Steps:
- Open VS Code with a workspace
- Start typing in any file
- Verify status bar shows tracking is active
- Stop all activity for 3+ minutes
- Verify tracking stops due to inactivity
Expected Result:
- Status bar shows active tracking when typing
- Status bar shows paused/stopped when inactive
- Time is accumulated correctly
Objective: Verify that cursor movements trigger activity detection
Prerequisites: Extension installed and activated
Priority: High | Category: Activity Detection
Steps:
- Open a file in VS Code
- Move cursor around without typing
- Check if tracking is active
- Select text with mouse
- Verify activity is detected
Expected Result:
- Cursor movements should trigger activity detection
- Text selection should maintain active tracking
- No false inactivity timeouts during cursor activity
Objective: Verify that text editing triggers activity detection
Prerequisites: Extension installed and activated
Priority: High | Category: Activity Detection
Steps:
- Open a file in VS Code
- Type some text
- Delete some text
- Copy/paste text
- Undo/redo operations
Expected Result:
- All text editing operations should maintain active tracking
- Timer should not stop during continuous editing
- Status bar should reflect active state
Objective: Verify tracking continues across multiple files
Prerequisites: Extension installed and activated
Priority: Medium | Category: Multi-File Support
Steps:
- Open multiple files in VS Code
- Switch between files
- Edit different files
- Close and open files
Expected Result:
- Tracking should continue seamlessly across file switches
- No session breaks when switching files
- Activity detection works in all files
Objective: Verify that tracking stops after configured inactivity period
Prerequisites: Extension installed, inactivity timeout set to 3 minutes
Priority: High | Category: Timeout Management
Steps:
- Start tracking by typing
- Stop all activity (no typing, no cursor movement)
- Wait for inactivity timeout (3 minutes)
- Verify tracking stops
- Resume activity and verify tracking restarts
Expected Result:
- Tracking stops after exactly 3 minutes of inactivity
- Status bar reflects stopped state
- Tracking automatically resumes when activity detected
Objective: Verify that tracking handles VS Code window focus changes
Prerequisites: Extension installed and activated
Priority: Medium | Category: Focus Management
Steps:
- Start tracking in VS Code
- Switch to another application
- Wait for focus timeout period
- Return to VS Code
- Verify tracking behavior
Expected Result:
- Tracking should pause when VS Code loses focus
- Tracking should resume when VS Code regains focus
- Time should not accumulate while unfocused
Objective: Verify that sessions are saved correctly
Prerequisites: Extension installed and activated
Priority: High | Category: Data Persistence
Steps:
- Start a tracking session
- Work for several minutes
- Manually save session (if feature available)
- Check database for saved entries
- Restart VS Code and verify data persists
Expected Result:
- Sessions are saved to database correctly
- Data persists across VS Code restarts
- No data loss during normal operation
Objective: Verify that current project is detected correctly
Prerequisites: Extension installed, workspace folder opened
Priority: Medium | Category: Project Management
Steps:
- Open a workspace with a named folder
- Start tracking
- Verify project name is detected
- Switch to different workspace
- Verify project name updates
Expected Result:
- Project name should match workspace folder name
- Project detection should be automatic
- Project changes should be reflected immediately
Objective: Verify behavior when no workspace is open
Prerequisites: Extension installed
Priority: Low | Category: Edge Cases
Steps:
- Close all workspace folders
- Open a single file
- Start tracking activity
- Verify behavior
Expected Result:
- Extension should handle no workspace gracefully
- Tracking should still work for individual files
- Project name should show appropriate default
Objective: Verify performance during extended tracking sessions
Prerequisites: Extension installed and activated
Priority: Medium | Category: Performance
Steps:
- Start a tracking session
- Maintain activity for 4+ hours continuously
- Monitor CPU usage and memory
- Verify tracking accuracy
Expected Result:
- No performance degradation over time
- Memory usage should remain stable
- Tracking accuracy maintained throughout session
- VS Code latest version
- Extension installed and configured
- Test workspace with sample projects
- Multiple file types available for testing
- Multiple workspace folders with different names
- Files of various types (.js, .ts, .md, .json, etc.)
- Large files (1000+ lines) for performance testing
Related Tests: Health Notifications Tests | Git Integration Tests | Test Case Index