mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-17 11:20:37 +09:00
Add draft routine defaults and run-time overrides
This commit is contained in:
parent
b4a58ba8a6
commit
5d021583be
18 changed files with 592 additions and 113 deletions
|
|
@ -1,7 +1,10 @@
|
|||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
BUILTIN_ROUTINE_VARIABLE_NAMES,
|
||||
extractRoutineVariableNames,
|
||||
getBuiltinRoutineVariableValues,
|
||||
interpolateRoutineTemplate,
|
||||
isBuiltinRoutineVariable,
|
||||
syncRoutineVariablesWithTemplate,
|
||||
} from "./routine-variables.js";
|
||||
|
||||
|
|
@ -40,4 +43,34 @@ describe("routine variable helpers", () => {
|
|||
}),
|
||||
).toBe("Review paperclip for high");
|
||||
});
|
||||
|
||||
it("identifies built-in variable names", () => {
|
||||
expect(isBuiltinRoutineVariable("date")).toBe(true);
|
||||
expect(isBuiltinRoutineVariable("repo")).toBe(false);
|
||||
expect(BUILTIN_ROUTINE_VARIABLE_NAMES.has("date")).toBe(true);
|
||||
});
|
||||
|
||||
it("getBuiltinRoutineVariableValues returns date in YYYY-MM-DD format", () => {
|
||||
const values = getBuiltinRoutineVariableValues();
|
||||
expect(values.date).toMatch(/^\d{4}-\d{2}-\d{2}$/);
|
||||
expect(values.date).toBe(new Date().toISOString().slice(0, 10));
|
||||
});
|
||||
|
||||
it("excludes built-in variables from syncRoutineVariablesWithTemplate", () => {
|
||||
const result = syncRoutineVariablesWithTemplate(
|
||||
"Daily report for {{date}} — {{repo}}",
|
||||
[],
|
||||
);
|
||||
expect(result).toEqual([
|
||||
{ name: "repo", label: null, type: "text", defaultValue: null, required: true, options: [] },
|
||||
]);
|
||||
});
|
||||
|
||||
it("interpolates built-in date variable alongside user variables", () => {
|
||||
const builtins = getBuiltinRoutineVariableValues();
|
||||
const allVars = { ...builtins, repo: "paperclip" };
|
||||
expect(
|
||||
interpolateRoutineTemplate("Report for {{date}} on {{repo}}", allVars),
|
||||
).toBe(`Report for ${builtins.date} on paperclip`);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue