ai-chatbot/tests/routes/canvas-project-title.test.ts

29 lines
1.0 KiB
TypeScript

import { expect, test } from "@playwright/test";
import {
CANVAS_PROJECT_TITLE_MAX_LENGTH,
normalizeCanvasProjectTitle,
} from "@/lib/canvas/project-title";
test.describe("canvas project title", () => {
test("trims surrounding whitespace and preserves a valid title", () => {
expect(normalizeCanvasProjectTitle(" 空格标题 ")).toBe("空格标题");
expect(normalizeCanvasProjectTitle("视频画布竞品对照")).toBe(
"视频画布竞品对照",
);
});
test("falls back to the current title for an empty draft", () => {
expect(normalizeCanvasProjectTitle(" ", "当前项目")).toBe("当前项目");
expect(normalizeCanvasProjectTitle(null, "")).toBe("未命名");
});
test("caps submitted titles and fallback titles at 120 characters", () => {
expect(
normalizeCanvasProjectTitle("T".repeat(130)),
).toHaveLength(CANVAS_PROJECT_TITLE_MAX_LENGTH);
expect(
normalizeCanvasProjectTitle("", "F".repeat(130)),
).toHaveLength(CANVAS_PROJECT_TITLE_MAX_LENGTH);
});
});