From da8984cbaf86441ad4a4ae8efd34232293be14fa Mon Sep 17 00:00:00 2001 From: Arul Sharma <31745423+arul28@users.noreply.github.com> Date: Sun, 26 Apr 2026 14:25:00 -0400 Subject: [PATCH] fix(tests): dedupe imports + correct permission-mode types after consolidation The test consolidation in #202 left duplicate import lines in ctoWorkerLifecycle / linearIntake / linearSync test files (TS2300) and under-typed the lazy resolverUtils handles in prRebase.test.ts (TS2322 against the real AiPermissionMode -> AgentChatPermissionMode signatures). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../main/services/cto/ctoWorkerLifecycle.test.ts | 5 ----- .../src/main/services/cto/linearIntake.test.ts | 4 +--- .../src/main/services/cto/linearSync.test.ts | 12 ++++++------ apps/desktop/src/main/services/prs/prRebase.test.ts | 13 +++++++++---- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/apps/desktop/src/main/services/cto/ctoWorkerLifecycle.test.ts b/apps/desktop/src/main/services/cto/ctoWorkerLifecycle.test.ts index affd5936f..c17804152 100644 --- a/apps/desktop/src/main/services/cto/ctoWorkerLifecycle.test.ts +++ b/apps/desktop/src/main/services/cto/ctoWorkerLifecycle.test.ts @@ -2,7 +2,6 @@ import YAML from "yaml"; import fs from "node:fs"; import os from "node:os"; import path from "node:path"; -import type { AgentIdentity } from "../../../shared/types"; import type { AgentIdentity, WorkerAgentRunStatus, WorkerAgentWakeupReason } from "../../../shared/types"; import { EventEmitter } from "node:events"; import { afterEach, describe, expect, it, vi } from "vitest"; @@ -13,10 +12,6 @@ import { createWorkerBudgetService } from "./workerBudgetService"; import { createWorkerHeartbeatService } from "./workerHeartbeatService"; import { createWorkerRevisionService } from "./workerRevisionService"; import { createWorkerTaskSessionService } from "./workerTaskSessionService"; -import { describe, expect, it } from "vitest"; -import { describe, expect, it, vi } from "vitest"; -import { describe, expect, it, vi, afterEach } from "vitest"; -import { openKvDb } from "../state/kvDb"; import { openKvDb, type AdeDb } from "../state/kvDb"; describe("workerHeartbeatService (file group)", () => { diff --git a/apps/desktop/src/main/services/cto/linearIntake.test.ts b/apps/desktop/src/main/services/cto/linearIntake.test.ts index 8bfe27ce7..9749a006a 100644 --- a/apps/desktop/src/main/services/cto/linearIntake.test.ts +++ b/apps/desktop/src/main/services/cto/linearIntake.test.ts @@ -2,18 +2,16 @@ import fs from "node:fs"; import os from "node:os"; import path from "node:path"; import type { + LinearWorkflowConfig, LinearWorkflowDefinition, LinearWorkflowRun, NormalizedLinearIssue, } from "../../../shared/types"; -import type { LinearWorkflowConfig, NormalizedLinearIssue } from "../../../shared/types"; import { afterEach, describe, expect, it, vi } from "vitest"; import { createLinearCloseoutService } from "./linearCloseoutService"; import { createLinearIngressService } from "./linearIngressService"; import { createLinearIntakeService } from "./linearIntakeService"; import { createLinearRoutingService } from "./linearRoutingService"; -import { describe, expect, it } from "vitest"; -import { describe, expect, it, vi } from "vitest"; import { openKvDb } from "../state/kvDb"; describe("linearIntakeService (file group)", () => { diff --git a/apps/desktop/src/main/services/cto/linearSync.test.ts b/apps/desktop/src/main/services/cto/linearSync.test.ts index 4a00bc6d8..d53356a86 100644 --- a/apps/desktop/src/main/services/cto/linearSync.test.ts +++ b/apps/desktop/src/main/services/cto/linearSync.test.ts @@ -1,10 +1,12 @@ import fs from "node:fs"; import os from "node:os"; import path from "node:path"; -import type { LinearSyncConfig } from "../../../shared/types"; -import type { LinearWorkflowConfig, LinearWorkflowMatchResult, NormalizedLinearIssue } from "../../../shared/types"; -import type { LinearWorkflowConfig, NormalizedLinearIssue } from "../../../shared/types"; -import type { NormalizedLinearIssue } from "../../../shared/types"; +import type { + LinearSyncConfig, + LinearWorkflowConfig, + LinearWorkflowMatchResult, + NormalizedLinearIssue, +} from "../../../shared/types"; import { afterEach, describe, expect, it, vi } from "vitest"; import { createLinearCloseoutService } from "./linearCloseoutService"; import { createLinearDispatcherService } from "./linearDispatcherService"; @@ -12,8 +14,6 @@ import { createLinearOutboundService } from "./linearOutboundService"; import { createLinearSyncService } from "./linearSyncService"; import { createLinearTemplateService } from "./linearTemplateService"; import { createLinearWorkflowFileService } from "./linearWorkflowFileService"; -import { describe, expect, it } from "vitest"; -import { describe, expect, it, vi } from "vitest"; import { openKvDb } from "../state/kvDb"; import { pathToFileURL } from "node:url"; diff --git a/apps/desktop/src/main/services/prs/prRebase.test.ts b/apps/desktop/src/main/services/prs/prRebase.test.ts index 29698b973..aa0fea9ae 100644 --- a/apps/desktop/src/main/services/prs/prRebase.test.ts +++ b/apps/desktop/src/main/services/prs/prRebase.test.ts @@ -2,7 +2,12 @@ import fs from "node:fs"; import os from "node:os"; import path from "node:path"; import { afterAll, beforeAll, describe, expect, it, vi } from "vitest"; -import type { LaneSummary, RebaseNeed } from "../../../shared/types"; +import type { + AgentChatPermissionMode, + AiPermissionMode, + LaneSummary, + RebaseNeed, +} from "../../../shared/types"; // --------------------------------------------------------------------------- // Module mocks @@ -56,11 +61,11 @@ const mockRunGit = vi.mocked(runGit); describe("resolverUtils (real module)", () => { // Lazy-loaded handles to the real module so the prRebaseResolver mock above // does not interfere. - let mapPermissionMode: (mode: string | undefined) => string; + let mapPermissionMode: (mode: AiPermissionMode | undefined) => AgentChatPermissionMode; let mapPermissionModeForModelFamily: ( - mode: string | undefined, + mode: AiPermissionMode | undefined, family: string | undefined, - ) => string; + ) => AgentChatPermissionMode; let readRecentCommits: (worktreePath: string, count?: number, ref?: string) => Promise>; beforeAll(async () => {