test: update use correct check instead of unsafe unwrap

This commit is contained in:
2026-07-18 07:51:46 +05:00
parent 148ed75841
commit 81f5be4cd3
3 changed files with 29 additions and 13 deletions
+11 -5
View File
@@ -1,6 +1,6 @@
import { beforeEach, describe, expect, it } from "vitest";
import { AppErrorVariant } from "@/error";
import { getProjectConfigPath } from "@/model/projectConfig";
import { beforeEach, describe, expect, it } from "vitest";
import { InMemoryFileSystem } from "../../tests/helpers/InMemoryFileSystem";
import { addProjectTag } from "./addProjectTag";
import { loadProjectConfig } from "./loadProjectConfig";
@@ -24,8 +24,10 @@ describe("addProjectTag", () => {
expect(result.value.config.tags).toEqual(["bug"]);
const loaded = await loadProjectConfig(fs, folder);
expect(loaded._unsafeUnwrap().exists).toBe(true);
expect(loaded._unsafeUnwrap().config.tags).toEqual(["bug"]);
expect(loaded.isOk()).toBe(true);
if (loaded.isErr()) return;
expect(loaded.value.exists).toBe(true);
expect(loaded.value.config.tags).toEqual(["bug"]);
expect(await fs.readFile(getProjectConfigPath(folder))).toContain("bug");
});
@@ -47,7 +49,9 @@ describe("addProjectTag", () => {
folderPath: folder,
tag: "frontend",
});
expect(result._unsafeUnwrap().config.tags).toEqual(["bug", "frontend"]);
expect(result.isOk()).toBe(true);
if (result.isErr()) return;
expect(result.value.config.tags).toEqual(["bug", "frontend"]);
});
it("trims tag and rejects empty", async () => {
@@ -63,7 +67,9 @@ describe("addProjectTag", () => {
folderPath: folder,
tag: " docs ",
});
expect(trimmed._unsafeUnwrap().config.tags).toEqual(["docs"]);
expect(trimmed.isOk()).toBe(true);
if (trimmed.isErr()) return;
expect(trimmed.value.config.tags).toEqual(["docs"]);
});
it("rejects missing folder", async () => {
+12 -6
View File
@@ -1,5 +1,5 @@
import { describe, expect, it } from "vitest";
import { AppErrorVariant } from "@/error";
import { describe, expect, it } from "vitest";
import { parseProjectConfig } from "./parseProjectConfig";
describe("parseProjectConfig", () => {
@@ -11,17 +11,23 @@ describe("parseProjectConfig", () => {
});
it("accepts empty / missing tags", () => {
expect(parseProjectConfig("")._unsafeUnwrap().tags).toEqual([]);
expect(parseProjectConfig("tags: []\n")._unsafeUnwrap().tags).toEqual(
[],
);
let result = parseProjectConfig("");
expect(result.isOk()).toBe(true);
if (result.isErr()) return;
expect(result.value.tags).toEqual([]);
result = parseProjectConfig("tags: []\n");
expect(result.isOk()).toBe(true);
if (result.isErr()) return;
expect(result.value.tags).toEqual([]);
});
it("dedupes and trims tags", () => {
const result = parseProjectConfig(
"tags:\n - bug\n - bug \n - frontend\n",
);
expect(result._unsafeUnwrap().tags).toEqual(["bug", "frontend"]);
expect(result.isOk()).toBe(true);
if (result.isErr()) return;
expect(result.value.tags).toEqual(["bug", "frontend"]);
});
it("rejects invalid YAML", () => {
@@ -8,12 +8,16 @@ describe("serializeProjectConfig", () => {
expect(yaml).toContain("bug");
expect(yaml).toContain("docs");
const parsed = parseProjectConfig(yaml);
expect(parsed._unsafeUnwrap().tags).toEqual(["bug", "docs"]);
expect(parsed.isOk()).toBe(true);
if (parsed.isErr()) return;
expect(parsed.value.tags).toEqual(["bug", "docs"]);
});
it("serializes empty tags", () => {
const yaml = serializeProjectConfig({ tags: [] });
const parsed = parseProjectConfig(yaml);
expect(parsed._unsafeUnwrap().tags).toEqual([]);
expect(parsed.isOk()).toBe(true);
if (parsed.isErr()) return;
expect(parsed.value.tags).toEqual([]);
});
});