test: create\read\parse file full cycle
This commit is contained in:
@@ -5,6 +5,7 @@ import { TaskPriority } from "@/model/taskPriority";
|
||||
import { TaskStatus } from "@/model/taskStatus";
|
||||
import { beforeEach, describe, expect, it } from "vitest";
|
||||
import { InMemoryFileSystem } from "../../tests/helpers/InMemoryFileSystem";
|
||||
import { parseTaskFile } from "@/utils/markdown";
|
||||
import { FsTaskRepository } from "./FsTaskRepository";
|
||||
|
||||
const UUID_RE =
|
||||
@@ -245,4 +246,23 @@ describe("FsTaskRepository", () => {
|
||||
const files = await fs.readdir(folder);
|
||||
expect(files).toEqual([`fix-bug${TASK_FILE_EXTENSION}`]);
|
||||
});
|
||||
|
||||
it("integration: create → file → parse results in matching task", async () => {
|
||||
const task = await repo.create(folder, sampleTask);
|
||||
|
||||
const content = await fs.readFile(
|
||||
`${folder}/fix-login-bug${TASK_FILE_EXTENSION}`,
|
||||
);
|
||||
const parsed = parseTaskFile(content);
|
||||
|
||||
expect(parsed.id).toBe(task.id);
|
||||
expect(parsed.title).toBe(sampleTask.title);
|
||||
expect(parsed.description).toBe(sampleTask.description);
|
||||
expect(parsed.status).toBe(sampleTask.status);
|
||||
expect(parsed.priority).toBe(sampleTask.priority);
|
||||
expect(parsed.tags).toEqual(sampleTask.tags);
|
||||
expect(parsed.assignee).toBe(sampleTask.assignee);
|
||||
expect(parsed.created).toBe(task.created);
|
||||
expect(parsed.updated).toBe(task.updated);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user