import assert from "node:assert/strict"; import test from "node:test"; import initialOnboardingModelInit from "./infrastructure/persistence/sequelize/models/sequelize-initial-onboarding.model"; import { onboardingModule } from "./module"; test("onboarding composition builds public capabilities and registers its model", async () => { let provisionCalls = 0; const initialCompanyCreator = { create: async () => { throw new Error("not invoked"); }, }; const initialCompanyAdminAssigner = { assign: async () => { throw new Error("not invoked"); }, }; const result = await onboardingModule.setup?.({ database: {} as never, transactionContext: {} as never, getService: (name: string) => { if (name === "companies:general") return { initialCompanyCreator } as T; if (name === "identity:general") return { initialCompanyAdminAssigner } as T; throw new Error(`Unexpected service ${name}`); }, } as never); assert.ok(result?.services?.general); assert.deepEqual(result.services.general, {}); assert.ok(result.internal); assert.ok(result.models?.includes(initialOnboardingModelInit)); assert.equal(provisionCalls, 0); });