import { beforeEach, describe, expect, it, vi } from "vitest"; import { SystemRole } from "@nexus/shared"; import { createToolContext, executeTool, resetAssistantImportToolTestState, } from "./assistant-tools-import-dispo-webhooks-test-helpers.js"; describe("assistant export tools", () => { beforeEach(async () => { await resetAssistantImportToolTestState(); }); it("exports resources CSV through the real import/export router path", async () => { const ctx = createToolContext( { resource: { findMany: vi.fn().mockResolvedValue([ { eid: "EMP-001", displayName: "Carol Danvers", email: "carol@example.com", chapter: "Delivery", lcrCents: 8000, ucrCents: 12000, currency: "EUR", chargeabilityTarget: 0.8, dynamicFields: {}, }, ]), }, blueprint: { findMany: vi.fn().mockResolvedValue([]), }, }, { userRole: SystemRole.CONTROLLER }, ); const result = await executeTool("export_resources_csv", "{}", ctx); expect(JSON.parse(result.content)).toEqual({ format: "csv", lineCount: 2, csv: "eid,displayName,email,chapter,lcrCents,ucrCents,currency,chargeabilityTarget\nEMP-001,Carol Danvers,carol@example.com,Delivery,8000,12000,EUR,0.8", }); }); });