forked from farhoodlabs/paperclip
test(skills): add route test for scan-projects endpoint
Verifies that agents with canCreateAgents permission can call the scan-projects endpoint and that scanProjectWorkspaces is invoked. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,7 @@ const mockAccessService = vi.hoisted(() => ({
|
|||||||
const mockCompanySkillService = vi.hoisted(() => ({
|
const mockCompanySkillService = vi.hoisted(() => ({
|
||||||
importFromSource: vi.fn(),
|
importFromSource: vi.fn(),
|
||||||
deleteSkill: vi.fn(),
|
deleteSkill: vi.fn(),
|
||||||
|
scanProjectWorkspaces: vi.fn(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
const mockLogActivity = vi.hoisted(() => vi.fn());
|
const mockLogActivity = vi.hoisted(() => vi.fn());
|
||||||
@@ -69,6 +70,15 @@ describe("company skill mutation permissions", () => {
|
|||||||
slug: "find-skills",
|
slug: "find-skills",
|
||||||
name: "Find Skills",
|
name: "Find Skills",
|
||||||
});
|
});
|
||||||
|
mockCompanySkillService.scanProjectWorkspaces.mockResolvedValue({
|
||||||
|
scannedProjects: 1,
|
||||||
|
scannedWorkspaces: 2,
|
||||||
|
discovered: [],
|
||||||
|
imported: [],
|
||||||
|
updated: [],
|
||||||
|
conflicts: [],
|
||||||
|
warnings: [],
|
||||||
|
});
|
||||||
mockLogActivity.mockResolvedValue(undefined);
|
mockLogActivity.mockResolvedValue(undefined);
|
||||||
mockAccessService.canUser.mockResolvedValue(true);
|
mockAccessService.canUser.mockResolvedValue(true);
|
||||||
mockAccessService.hasPermission.mockResolvedValue(false);
|
mockAccessService.hasPermission.mockResolvedValue(false);
|
||||||
@@ -247,6 +257,26 @@ describe("company skill mutation permissions", () => {
|
|||||||
expect(mockCompanySkillService.importFromSource).not.toHaveBeenCalled();
|
expect(mockCompanySkillService.importFromSource).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("allows agents with canCreateAgents to scan project workspaces", async () => {
|
||||||
|
mockAgentService.getById.mockResolvedValue({
|
||||||
|
id: "agent-1",
|
||||||
|
companyId: "company-1",
|
||||||
|
permissions: { canCreateAgents: true },
|
||||||
|
});
|
||||||
|
|
||||||
|
const res = await request(await createApp({
|
||||||
|
type: "agent",
|
||||||
|
agentId: "agent-1",
|
||||||
|
companyId: "company-1",
|
||||||
|
runId: "run-1",
|
||||||
|
}))
|
||||||
|
.post("/api/companies/company-1/skills/scan-projects")
|
||||||
|
.send({});
|
||||||
|
|
||||||
|
expect(res.status, JSON.stringify(res.body)).toBe(200);
|
||||||
|
expect(mockCompanySkillService.scanProjectWorkspaces).toHaveBeenCalledWith("company-1", {});
|
||||||
|
});
|
||||||
|
|
||||||
it("allows agents with canCreateAgents to mutate company skills", async () => {
|
it("allows agents with canCreateAgents to mutate company skills", async () => {
|
||||||
mockAgentService.getById.mockResolvedValue({
|
mockAgentService.getById.mockResolvedValue({
|
||||||
id: "agent-1",
|
id: "agent-1",
|
||||||
|
|||||||
Reference in New Issue
Block a user