test: add status flow test

This commit is contained in:
2026-07-19 07:20:00 +05:00
parent ad982eb1cc
commit c818ed551e
+51
View File
@@ -0,0 +1,51 @@
import { describe, expect, it } from "vitest";
import { TaskStatus } from "@/model/taskStatus";
import { InMemoryFileSystem } from "../helpers/InMemoryFileSystem";
import { parseTaskFile } from "@/utils/markdown";
const FS = new InMemoryFileSystem();
const FILE = "/tasks/test.xflow.md";
describe("task status integration", () => {
it("parses valid status from file", async () => {
await FS.writeFile(
FILE,
[
"---",
'id: "abc"',
'title: "Test"',
"status: open",
"---",
"",
"Body",
].join("\n"),
);
const raw = await FS.readFile(FILE);
const task = parseTaskFile(raw);
expect(task.status).toBe(TaskStatus.OPEN);
});
it("returns UNKNOWN after manually changing status to invalid value in file", async () => {
await FS.writeFile(
FILE,
[
"---",
'id: "abc"',
'title: "Test"',
"status: open",
"---",
"",
"Body",
].join("\n"),
);
const raw = await FS.readFile(FILE);
const modified = raw.replace("status: open", "status: __not_a_status__");
await FS.writeFile(FILE, modified);
const final = await FS.readFile(FILE);
const task = parseTaskFile(final);
expect(task.status).toBe(TaskStatus.UNKNOWN);
});
});