Spaces:
Running
Running
File size: 1,769 Bytes
3f76ff4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | import { describe, expect, it } from "vitest";
import { getWorkPackageVersion, getWorkPackageVisualState } from "./work-package-ui";
import type { WorkPackage } from "./work-package-types";
const baseWorkPackage: WorkPackage = {
id: "wp-test",
title: "Test Package",
shortName: "Test",
phase: "Specify Product",
objective: "Test objective",
inputFiles: [],
outputFiles: [],
coreSections: [],
tasks: [],
outputs: [],
status: "todo",
priority: "medium",
};
describe("work-package-ui", () => {
it("derives version labels from output count", () => {
expect(getWorkPackageVersion(baseWorkPackage)).toBeUndefined();
expect(
getWorkPackageVersion({
...baseWorkPackage,
outputs: [
{
id: "out-1",
title: "Output",
type: "text",
content: "content",
createdAt: "2026-01-01T00:00:00.000Z",
executionMode: "real",
disclaimer: "disclaimer",
},
],
}),
).toBe("v1");
});
it("marks active work packages as running and done packages as complete", () => {
expect(
getWorkPackageVisualState({
workPackage: baseWorkPackage,
activeWorkPackageId: "wp-test",
}),
).toBe("running");
expect(
getWorkPackageVisualState({
workPackage: {
...baseWorkPackage,
status: "done",
outputs: [
{
id: "out-1",
title: "Output",
type: "text",
content: "content",
createdAt: "2026-01-01T00:00:00.000Z",
executionMode: "real",
disclaimer: "disclaimer",
},
],
},
}),
).toBe("done");
});
});
|