diff --git a/src/storage/FsTaskRepository.test.ts b/src/storage/FsTaskRepository.test.ts index 9795c03..077c30d 100644 --- a/src/storage/FsTaskRepository.test.ts +++ b/src/storage/FsTaskRepository.test.ts @@ -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); + }); });