From 616a2bc8f9f7044d7e09c8a139a69397923e1c83 Mon Sep 17 00:00:00 2001 From: dotta Date: Fri, 20 Mar 2026 07:01:42 -0500 Subject: [PATCH] test: fix post-sync verification regressions --- packages/db/src/migrations/meta/_journal.json | 8 ++++---- server/src/__tests__/agent-permissions-routes.test.ts | 10 ++++++++++ server/src/__tests__/agent-skills-routes.test.ts | 8 ++++++++ server/src/__tests__/company-portability.test.ts | 2 ++ server/src/routes/companies.ts | 1 - 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/packages/db/src/migrations/meta/_journal.json b/packages/db/src/migrations/meta/_journal.json index ef8ad0b8..df15f72e 100644 --- a/packages/db/src/migrations/meta/_journal.json +++ b/packages/db/src/migrations/meta/_journal.json @@ -278,15 +278,15 @@ { "idx": 39, "version": "7", - "when": 1773927102783, - "tag": "0039_eager_shotgun", + "when": 1773926116580, + "tag": "0038_fat_magneto", "breakpoints": true }, { "idx": 40, "version": "7", - "when": 1773926116580, - "tag": "0038_fat_magneto", + "when": 1773927102783, + "tag": "0039_eager_shotgun", "breakpoints": true } ] diff --git a/server/src/__tests__/agent-permissions-routes.test.ts b/server/src/__tests__/agent-permissions-routes.test.ts index 3b0f9e78..9bcc71d5 100644 --- a/server/src/__tests__/agent-permissions-routes.test.ts +++ b/server/src/__tests__/agent-permissions-routes.test.ts @@ -76,19 +76,27 @@ const mockSecretService = vi.hoisted(() => ({ resolveAdapterConfigForRuntime: vi.fn(), })); +const mockAgentInstructionsService = vi.hoisted(() => ({})); +const mockCompanySkillService = vi.hoisted(() => ({ + listRuntimeSkillEntries: vi.fn(), + resolveRequestedSkillKeys: vi.fn(), +})); const mockWorkspaceOperationService = vi.hoisted(() => ({})); const mockLogActivity = vi.hoisted(() => vi.fn()); vi.mock("../services/index.js", () => ({ agentService: () => mockAgentService, + agentInstructionsService: () => mockAgentInstructionsService, accessService: () => mockAccessService, approvalService: () => mockApprovalService, + companySkillService: () => mockCompanySkillService, budgetService: () => mockBudgetService, heartbeatService: () => mockHeartbeatService, issueApprovalService: () => mockIssueApprovalService, issueService: () => mockIssueService, logActivity: mockLogActivity, secretService: () => mockSecretService, + syncInstructionsBundleConfigFromFilePath: vi.fn((_agent, config) => config), workspaceOperationService: () => mockWorkspaceOperationService, })); @@ -141,6 +149,8 @@ describe("agent permission routes", () => { mockAccessService.listPrincipalGrants.mockResolvedValue([]); mockAccessService.ensureMembership.mockResolvedValue(undefined); mockAccessService.setPrincipalPermission.mockResolvedValue(undefined); + mockCompanySkillService.listRuntimeSkillEntries.mockResolvedValue([]); + mockCompanySkillService.resolveRequestedSkillKeys.mockImplementation(async (_companyId, requested) => requested); mockBudgetService.upsertPolicy.mockResolvedValue(undefined); mockSecretService.normalizeAdapterConfigForPersistence.mockImplementation(async (_companyId, config) => config); mockSecretService.resolveAdapterConfigForRuntime.mockImplementation(async (_companyId, config) => ({ config })); diff --git a/server/src/__tests__/agent-skills-routes.test.ts b/server/src/__tests__/agent-skills-routes.test.ts index f0b6c499..a33eafd6 100644 --- a/server/src/__tests__/agent-skills-routes.test.ts +++ b/server/src/__tests__/agent-skills-routes.test.ts @@ -14,6 +14,10 @@ const mockAgentService = vi.hoisted(() => ({ const mockAccessService = vi.hoisted(() => ({ canUser: vi.fn(), hasPermission: vi.fn(), + getMembership: vi.fn(), + listPrincipalGrants: vi.fn(), + ensureMembership: vi.fn(), + setPrincipalPermission: vi.fn(), })); const mockApprovalService = vi.hoisted(() => ({})); @@ -186,6 +190,10 @@ describe("agent skill routes", () => { mockLogActivity.mockResolvedValue(undefined); mockAccessService.canUser.mockResolvedValue(true); mockAccessService.hasPermission.mockResolvedValue(true); + mockAccessService.getMembership.mockResolvedValue(null); + mockAccessService.listPrincipalGrants.mockResolvedValue([]); + mockAccessService.ensureMembership.mockResolvedValue(undefined); + mockAccessService.setPrincipalPermission.mockResolvedValue(undefined); }); it("skips runtime materialization when listing Claude skills", async () => { diff --git a/server/src/__tests__/company-portability.test.ts b/server/src/__tests__/company-portability.test.ts index af092ef4..fbdab1dd 100644 --- a/server/src/__tests__/company-portability.test.ts +++ b/server/src/__tests__/company-portability.test.ts @@ -17,6 +17,7 @@ const accessSvc = { ensureMembership: vi.fn(), listActiveUserMemberships: vi.fn(), copyActiveUserMemberships: vi.fn(), + setPrincipalPermission: vi.fn(), }; const projectSvc = { @@ -258,6 +259,7 @@ describe("company portability", () => { assetSvc.getById.mockReset(); assetSvc.getById.mockResolvedValue(null); assetSvc.create.mockReset(); + accessSvc.setPrincipalPermission.mockResolvedValue(undefined); assetSvc.create.mockResolvedValue({ id: "asset-created", }); diff --git a/server/src/routes/companies.ts b/server/src/routes/companies.ts index 4c2d4807..5112baac 100644 --- a/server/src/routes/companies.ts +++ b/server/src/routes/companies.ts @@ -7,7 +7,6 @@ import { createCompanySchema, updateCompanyBrandingSchema, updateCompanySchema, - updateCompanyBrandingSchema, } from "@paperclipai/shared"; import { forbidden } from "../errors.js"; import { validate } from "../middleware/validate.js";