Skip to content

Raise desktop coverage #150

@VincentShipsIt

Description

@VincentShipsIt

Parent issue: #145

Task graph: 51ELAt2tBRZkOoKteEcqe
Node: step-2
Specialist role: backend
Surfaces: backend, frontend, tests

Scope

Primary feature behavior phase: bring apps/desktop to 100% by extending the nearest existing test files rather than changing runtime behavior. Split work into parallel-safe tracks with disjoint files: main-process IPC/bootstrap tests, renderer shell/list/detail tests, automation/project-settings tests, and terminal/cost/settings leaf tests. Cover real empty, loading, error, retry, cancel, callback, platform, and optional-prop paths, including current uncovered graph signals useInboxView, renderRow, TerminalDrawer, TriageRuleCard, and updateCondition.

Rationale: Desktop is the remaining coverage surface and its gaps are broad but mostly isolated to existing test ownership boundaries. Main-process IPC tests must preserve clamped renderer-facing errors; renderer tests should follow existing React Testing Library patterns in App.test.tsx, IssueDetailLeafComponents.test.tsx, ProjectSettingsLeafTabs.test.tsx, CostCharts.test.tsx, and the current IPC handler tests.

Files

  • apps/desktop/src/main/git-workflows.test.ts
  • apps/desktop/src/main/index.test.ts
  • apps/desktop/src/main/ipc/helpers.test.ts
  • apps/desktop/src/main/ipc/prd-attachments.test.ts
  • apps/desktop/src/main/ipc/register-automation-handlers.test.ts
  • apps/desktop/src/main/ipc/register-github-handlers.test.ts
  • apps/desktop/src/main/ipc/register-instant-handlers.test.ts
  • apps/desktop/src/main/ipc/register-pipeline-handlers.test.ts
  • apps/desktop/src/main/ipc/register-pr-handlers.test.ts
  • apps/desktop/src/main/ipc/register-project-handlers.test.ts
  • apps/desktop/src/main/ipc/register-quick-task-handlers.test.ts
  • apps/desktop/src/main/ipc/register-support-handlers.test.ts
  • apps/desktop/src/main/ipc/retry-phase.test.ts
  • apps/desktop/src/main/logger.service.test.ts
  • apps/desktop/src/main/notification-service.test.ts
  • apps/desktop/src/main/resource-monitor.test.ts
  • apps/desktop/src/main/splash-screen.test.ts
  • apps/desktop/src/main/telemetry.test.ts
  • apps/desktop/src/main/update-service.test.ts
  • apps/desktop/src/renderer/App.test.tsx
  • apps/desktop/src/renderer/components/AssistantPanel.test.tsx
  • apps/desktop/src/renderer/components/AutomationRunDetail.callbacks.test.tsx
  • apps/desktop/src/renderer/components/AutomationRunDetail.test.tsx
  • apps/desktop/src/renderer/components/CleanupModal.test.tsx
  • apps/desktop/src/renderer/components/CommandPalette.test.tsx
  • apps/desktop/src/renderer/components/CreateIssueModal.test.tsx
  • apps/desktop/src/renderer/components/InboxView.test.tsx
  • apps/desktop/src/renderer/components/IssueDetail.callbacks.test.tsx
  • apps/desktop/src/renderer/components/IssueDetail.test.tsx
  • apps/desktop/src/renderer/components/IssuesPanel.actions.test.tsx
  • apps/desktop/src/renderer/components/IssuesPanel.test.tsx
  • apps/desktop/src/renderer/components/IssuesPanel.undo.test.tsx
  • apps/desktop/src/renderer/components/MiscLeafComponents.test.tsx
  • apps/desktop/src/renderer/components/NotificationToaster.test.tsx
  • apps/desktop/src/renderer/components/ProjectSettingsModal.callbacks.test.tsx
  • apps/desktop/src/renderer/components/ProjectSettingsModal.test.tsx
  • apps/desktop/src/renderer/components/ProjectSidebar.test.tsx
  • apps/desktop/src/renderer/components/SettingsPanel.test.tsx
  • apps/desktop/src/renderer/components/SkillsView.test.tsx
  • apps/desktop/src/renderer/components/TerminalDrawer.test.tsx
  • apps/desktop/src/renderer/components/TerminalView.test.tsx
  • apps/desktop/src/renderer/components/ThreadPanelArchiveDialog.test.tsx
  • apps/desktop/src/renderer/components/Titlebar.test.tsx
  • apps/desktop/src/renderer/components/costs/CostCharts.test.tsx
  • apps/desktop/src/renderer/components/issue-detail/ApprovalSection.test.tsx
  • apps/desktop/src/renderer/components/issue-detail/CommentsTab.test.tsx
  • apps/desktop/src/renderer/components/issue-detail/IssueDetailDialogs.test.tsx
  • apps/desktop/src/renderer/components/issue-detail/IssueDetailLeafComponents.test.tsx
  • apps/desktop/src/renderer/components/issue-detail/PipelineTab.test.tsx
  • apps/desktop/src/renderer/components/issue-detail/PlanHistoryTab.test.tsx
  • apps/desktop/src/renderer/components/issue-detail/helpers.test.ts
  • apps/desktop/src/renderer/components/onboarding/OnboardingLeafSteps.test.tsx
  • apps/desktop/src/renderer/components/project-settings-modal/ProjectPhaseSettingsRow.callbacks.test.tsx
  • apps/desktop/src/renderer/components/project-settings-modal/ProjectSettingsLeafTabs.test.tsx
  • apps/desktop/src/renderer/components/project-settings-modal/ProjectSettingsPipelineTab.test.tsx
  • apps/desktop/src/renderer/components/project-settings-modal/TriageRulesTab.test.tsx
  • apps/desktop/src/renderer/components/pull-requests/PullRequestDetailPanel.test.tsx
  • apps/desktop/src/renderer/components/pull-requests/PullRequestsPanel.test.tsx
  • apps/desktop/src/renderer/components/settings-panel/GeneralSettingsSection.test.tsx
  • apps/desktop/src/renderer/components/settings-panel/IntegrationsSettingsSection.callbacks.test.tsx
  • apps/desktop/src/renderer/components/settings-panel/PipelineSettingsSection.callbacks.test.tsx
  • apps/desktop/src/renderer/components/settings-panel/PipelineSettingsSection.test.tsx
  • apps/desktop/src/renderer/components/settings-panel/SettingsLeafSections.test.tsx
  • apps/desktop/src/renderer/components/terminal-drawer/render-terminal-event.test.ts
  • apps/desktop/src/renderer/components/terminal-drawer/useTerminalDrawer.test.ts
  • apps/desktop/src/renderer/components/terminal-panes/TerminalPane.test.tsx
  • apps/desktop/src/renderer/components/terminal-panes/useTerminalPane.test.tsx
  • apps/desktop/src/renderer/components/terminal-transcript/TerminalTranscript.test.tsx
  • apps/desktop/src/renderer/features/automations/automation-detail.test.tsx
  • apps/desktop/src/renderer/features/automations/automations-view.test.tsx
  • apps/desktop/src/renderer/features/automations/create-automation-modal.test.tsx
  • apps/desktop/src/renderer/features/project/code-browser.test.tsx
  • apps/desktop/src/renderer/hooks/useGlobalKeyboard.test.tsx
  • apps/desktop/src/renderer/hooks/useIpc.test.tsx
  • apps/desktop/src/renderer/telemetry.test.ts

Acceptance Criteria

  • Step 2 completed: Primary feature behavior phase: bring apps/desktop to 100% by extending the nearest existing test files rather than changing runtime behavior. Split work into parallel-safe tracks with disjoint files: main-process IPC/bootstrap tests, renderer shell/list/detail tests, automation/project-settings tests, and terminal/cost/settings leaf tests. Cover real empty, loading, error, retry, cancel, callback, platform, and optional-prop paths, including current uncovered graph signals useInboxView, renderRow, TerminalDrawer, TriageRuleCard, and updateCondition.

Execution

ShipCode executes this task from the parent issue pipeline and checks it off in the parent task graph comment. Do not route this child issue as a separate agent job.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for Feature.

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions