Files
united-workforce/packages/workflow-template-solve-issue/__tests__/submitter.test.ts
T
Scott Wei 34f5e655d1 refactor(workflow): unify extraction behind ExtractFn
Route createExtract through reactExtract with plain-JSON correction retry.

Remove WorkflowFnOptions.llmProvider, ExtractMode, RoleDefinition.extractMode, ResolveRoleMetaFn.

Runtime createWorkflow calls options.extract directly; engine passes extract only.

Update templates, CLI skill docs, and tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 17:08:01 +08:00

39 lines
1.1 KiB
TypeScript

import { describe, expect, test } from "bun:test";
import { submitterMetaSchema, submitterRole } from "../src/roles/submitter.js";
describe("submitterRole", () => {
test("submitted sample validates against schema", () => {
const parsed = submitterMetaSchema.safeParse({
status: "submitted" as const,
prUrl: "https://github.com/example/repo/pull/42",
});
expect(parsed.success).toBe(true);
});
test("failed sample validates against schema", () => {
const parsed = submitterMetaSchema.safeParse({
status: "failed" as const,
error: "gh not authenticated",
});
expect(parsed.success).toBe(true);
});
test("rejects unknown status discriminant", () => {
const parsed = submitterMetaSchema.safeParse({
status: "queued",
prUrl: "https://example.com",
});
expect(parsed.success).toBe(false);
});
test("exposes submitter system prompt", () => {
expect(submitterRole.systemPrompt).toContain("submitter");
expect(submitterRole.systemPrompt).toContain("pull request");
});
test("has no refs extractor", () => {
expect(submitterRole.extractRefs).toBeNull();
});
});