/// <reference types="vite/client" />
import { test } from "vitest";
import { convexTest } from "convex-test";
export const modules = import.meta.glob("./**/*.*s");

import {
  defineSchema,
  type GenericSchema,
  type SchemaDefinition,
} from "convex/server";
import { type WorkflowManager } from "./index.js";
import { componentsGeneric } from "convex/server";
export { componentSchema };
import componentSchema from "../component/schema.js";
export const componentModules = import.meta.glob("../component/**/*.ts");

export function initConvexTest<
  Schema extends SchemaDefinition<GenericSchema, boolean>,
>(schema?: Schema) {
  const t = convexTest(schema ?? defineSchema({}), {
    ...modules,
    _generated: async () => ({}), // so convex-test thinks this is a real convex directory
  });
  t.registerComponent("workflow", componentSchema, componentModules);
  return t;
}
export const components = componentsGeneric() as unknown as {
  workflow: WorkflowManager;
};

test("setup", () => {});
