Skip to content

E2E test - Full workflow (open epic → expand → click task → view/sync progress) #60

@johnproblems

Description

@johnproblems

Task: E2E test - Full workflow (open epic → expand → click task → view/sync progress)

Description

Create an end-to-end test that validates the complete user workflow from opening the extension, browsing epics, viewing task details, updating status, and syncing with GitHub. This test ensures all components work together seamlessly in a real-world scenario.

Acceptance Criteria

  • Test opens VSCode with extension activated
  • Test expands Epic tree view
  • Test clicks on task to open details
  • Test views task in progress panel
  • Test updates task status via command
  • Test syncs task to GitHub
  • Test verifies GitHub issue created/updated
  • Test validates UI updates after sync
  • All workflow steps complete successfully

Technical Details

  • Create test file: test/e2e/fullWorkflow.test.ts
  • Test workflow steps:
    1. Activate extension in test VSCode instance
    2. Verify tree view registered and visible
    3. Expand epic node in tree view
    4. Verify task nodes displayed
    5. Click task node to open file/panel
    6. Verify progress panel opens with task details
    7. Execute status update command (open → in_progress)
    8. Verify frontmatter updated in file
    9. Verify tree view icon updated
    10. Execute GitHub sync command
    11. Verify GitHub API called with correct data
    12. Verify GitHub issue link added to frontmatter
    13. Verify success notification shown
    14. Execute sync again (update existing issue)
    15. Verify GitHub issue updated
  • Use @vscode/test-electron for full extension testing
  • Create complete test workspace with epic/task files
  • Mock GitHub API for predictable responses
  • Capture screenshots at each step for debugging
  • Use retry logic for timing-sensitive operations
  • Files affected: test/e2e/*.test.ts (new)

Dependencies

  • Task 13 - TreeDataProvider implemented
  • Task 14 - TreeItem classes implemented
  • Task 18 - Status update commands implemented
  • Task 20 - Webview panel provider implemented
  • Task 24 - GitHub authentication implemented
  • Task 25 - GitHub issue sync implemented
  • Task 26 - Sync commands implemented
  • Task 3 - Testing infrastructure configured

Effort Estimate

  • Size: XL
  • Hours: 16
  • Parallel: false

Definition of Done

  • Code implemented
  • Tests written and passing
  • Documentation updated
  • Code reviewed
  • Complete workflow validated end-to-end
  • Test runs reliably without flakiness

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions