d63d58ccb5
- Move 15 old workflow-* packages to legacy-packages/ (inactive, preserved for reference)
- Rename templates/ → examples/ for clarity
- Rewrite docs/architecture.md to reflect current uwf architecture
- Active packages remain in packages/: cli-uwf, uwf-agent-hermes, uwf-agent-kit, uwf-moderator, uwf-protocol, workflow-util
小橘 🍊(NEKO Team)
35 lines
1.0 KiB
TypeScript
35 lines
1.0 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");
|
|
});
|
|
});
|