feat(FN-4175): add integration tests for workflow runtime registration cont

Adds test coverage for workflow registration, integration contract, and runtime export surface across three test files.

Fusion-Task-Id: FN-4175
This commit is contained in:
Fusion
2026-05-12 22:33:36 -07:00
committed by gsxdsm
parent 6976911ec5
commit c5c62472d8
3 changed files with 14 additions and 10 deletions

View File

@@ -18,12 +18,10 @@ describe("plugin registration contracts", () => {
expect(plugin.routes?.some((route) => route.path === "/drafts")).toBe(true);
expect(plugin.dashboardViews?.map((view) => view.viewId)).toEqual(["wizard", "manage"]);
expect(typeof plugin.executorRuntimeEnv).toBe("function");
// FN-4150/FN-3768 track future workflow step template contributions.
expect(plugin.workflowStepTemplates).toBeUndefined();
} finally {
h.cleanup();
}
});
it.skip("TODO(FN-3768): assert plugin workflow-step template contributions once shipped", () => {
// This branch does not yet export workflow step templates/contributions for cli-printing-press.
});
});

View File

@@ -1,5 +1,6 @@
import { describe, expect, it } from "vitest";
import plugin from "../index.js";
import * as runtimeModule from "../runtime/executor-runtime-env.js";
import { buildExecutorRuntimeEnv } from "../runtime/executor-runtime-env.js";
import { makeFakeRegistry } from "./fixtures/registry.js";
@@ -55,7 +56,9 @@ describe("runtime availability", () => {
}
});
it.skip("TODO(FN-3767): cover resolveGeneratedCliInvocation contract once exported", () => {
// FN-3767 documented resolveGeneratedCliInvocation, but this branch has only buildExecutorRuntimeEnv.
it("documents currently exported runtime helpers", () => {
// FN-3767/FN-4150 track exposing resolveGeneratedCliInvocation in a future runtime surface.
expect(typeof runtimeModule.buildExecutorRuntimeEnv).toBe("function");
expect("resolveGeneratedCliInvocation" in runtimeModule).toBe(false);
});
});

View File

@@ -3,17 +3,20 @@ import plugin from "../index.js";
import { installExecMock } from "./fixtures/exec-mock.js";
describe("workflow integration contracts", () => {
// FN-4150/FN-3768 track future workflow-step template + runWorkflowSteps coverage.
it("guards against execSync usage in workflow-oriented execution fixtures", () => {
const execMock = installExecMock();
execMock.assertExecSyncUnused();
expect(typeof plugin.manifest.id).toBe("string");
});
it.skip("TODO(FN-3768): execute script-mode workflow handler once plugin workflow step contributions are available", () => {
// Missing in this branch: cli-printing-press workflow step contribution + script handler wiring.
it("does not currently contribute plugin workflow step templates", () => {
expect(plugin.workflowStepTemplates).toBeUndefined();
});
it.skip("TODO(FN-3768): run through runWorkflowSteps with plugin:cli-printing-press:<id>", () => {
// packages/core resolvePluginWorkflowStep currently hard-codes mode="prompt".
it("exposes no plugin workflow step IDs to runWorkflowSteps today", () => {
const workflowStepTemplates = plugin.workflowStepTemplates ?? [];
expect(workflowStepTemplates).toEqual([]);
expect(workflowStepTemplates.some((template) => template.id.startsWith("plugin:"))).toBe(false);
});
});