Files
template-app/modules/activities/__tests__/isolation.ts
T
2026-11-14 09:56:45 +00:00

28 lines
1.5 KiB
TypeScript

// SPDX-License-Identifier: LicenseRef-ConusAI-Template-1.0
import type { TransportCaller } from "@conusai-kit/core"
import type { IsolationFixture, IsolationTenant } from "@conusai-kit/testing"
import { businessModulesOn } from "../../index.js"
const id = "01900000-0000-7000-8000-000000000001"
const slugs = (t: IsolationTenant) => ({ org: t.orgSlug, workspace: t.workspaceSlug, project: t.projectSlug })
const task = (t: IsolationTenant) => ({ ...slugs(t), taskId: `act_${id}` })
const mutate = (t: IsolationTenant) => ({ ...task(t), expectedVersion: "1", requestId: id })
export const activitiesIsolationFixtures: Record<string, IsolationFixture> = {
"activities.task.list": { input: slugs },
"activities.task.get": { input: task },
"activities.timeline.list": { input: slugs },
"activities.task.create": { input: (t) => ({ ...slugs(t), subject: "Synthetic", requestId: id }) },
"activities.task.update": { input: (t) => ({ ...mutate(t), subject: "Synthetic", body: "Fixture" }) },
"activities.task.complete": { input: mutate },
"activities.task.reopen": { input: mutate },
"activities.comment.list": { input: task },
"activities.comment.add": { input: (t) => ({ ...mutate(t), body: "Synthetic" }) },
}
export const isolation: {
seed(
call: TransportCaller,
inProject: { org: string; workspace: string; project: string },
): Promise<Record<string, string>>
fixtures: Record<string, IsolationFixture>
} = { seed: async () => ({}), fixtures: businessModulesOn.includes("activities") ? activitiesIsolationFixtures : {} }