test: add status flow test
This commit is contained in:
@@ -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);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user