66 lines
2.0 KiB
TypeScript
66 lines
2.0 KiB
TypeScript
import { describe, it, expect } from "bun:test";
|
|
import { defaultConfig } from "../../src/defaults/config.ts";
|
|
|
|
describe("defaultConfig", () => {
|
|
it("包含所有四个阶段的配置", () => {
|
|
expect(defaultConfig.stages.discuss).toBeDefined();
|
|
expect(defaultConfig.stages.plan).toBeDefined();
|
|
expect(defaultConfig.stages.build).toBeDefined();
|
|
expect(defaultConfig.stages.archive).toBeDefined();
|
|
});
|
|
|
|
it("discuss 阶段有 prompt", () => {
|
|
expect(defaultConfig.stages.discuss!.prompt).toBeTruthy();
|
|
expect(typeof defaultConfig.stages.discuss!.prompt).toBe("string");
|
|
});
|
|
|
|
it("plan 阶段包含 design 和 task 两个文档配置", () => {
|
|
const docs = defaultConfig.stages.plan!.documents;
|
|
expect(docs).toHaveLength(2);
|
|
expect(docs[0].name).toBe("design");
|
|
expect(docs[1].name).toBe("task");
|
|
for (const doc of docs) {
|
|
expect(doc.prompt).toBeTruthy();
|
|
}
|
|
});
|
|
|
|
it("plan 的 task 文档配置存在", () => {
|
|
const taskDoc = defaultConfig.stages.plan!.documents.find(
|
|
(d) => d.name === "task",
|
|
);
|
|
expect(taskDoc).toBeDefined();
|
|
expect(taskDoc!.prompt).toBeTruthy();
|
|
});
|
|
|
|
it("task 文档依赖 design", () => {
|
|
const taskDoc = defaultConfig.stages.plan!.documents.find(
|
|
(d) => d.name === "task",
|
|
);
|
|
expect(taskDoc!.depend).toEqual(["design"]);
|
|
});
|
|
|
|
it("design 文档有 template", () => {
|
|
const designDoc = defaultConfig.stages.plan!.documents.find(
|
|
(d) => d.name === "design",
|
|
);
|
|
expect(designDoc!.template).toBeTruthy();
|
|
expect(designDoc!.template).toContain("{{change-name}}");
|
|
});
|
|
|
|
it("task 文档有 template", () => {
|
|
const taskDoc = defaultConfig.stages.plan!.documents.find(
|
|
(d) => d.name === "task",
|
|
);
|
|
expect(taskDoc!.template).toBeTruthy();
|
|
expect(taskDoc!.template).toContain("- [ ]");
|
|
});
|
|
|
|
it("build 阶段有 prompt", () => {
|
|
expect(defaultConfig.stages.build!.prompt).toBeTruthy();
|
|
});
|
|
|
|
it("archive 阶段有 prompt", () => {
|
|
expect(defaultConfig.stages.archive!.prompt).toBeTruthy();
|
|
});
|
|
});
|