ultisuite-client/e2e/richtext-editor.spec.ts
R3D347HR4Y cdff12490a
Some checks are pending
E2E / Playwright e2e (push) Waiting to run
hocuspocus
2026-06-09 14:31:07 +02:00

42 lines
1.3 KiB
TypeScript

import { test, expect } from "@playwright/test"
import {
colorForGuestId,
generateGuestDisplayName,
isReadableCursorColor,
} from "../lib/drive/guest-editor-identity"
import {
isRichTextFile,
sidecarPathForSource,
} from "../lib/drive/richtext-formats"
test.describe("rich text editor helpers", () => {
test("guest display name uses adjective and animal", () => {
const name = generateGuestDisplayName()
const parts = name.split(" ")
expect(parts.length).toBe(2)
expect(parts[0]?.length).toBeGreaterThan(0)
expect(parts[1]?.length).toBeGreaterThan(0)
})
test("guest color is stable for same id", () => {
const a = colorForGuestId("guest-abc")
const b = colorForGuestId("guest-abc")
expect(a).toBe(b)
})
test("cursor colors are readable with white label text", () => {
for (let i = 0; i < 20; i++) {
expect(isReadableCursorColor(colorForGuestId(`guest-${i}`))).toBe(true)
}
})
test("word formats route to rich text", () => {
expect(isRichTextFile({ name: "rapport.docx" })).toBe(true)
expect(isRichTextFile({ name: "budget.xlsx" })).toBe(false)
})
test("sidecar path preserves folder and basename", () => {
expect(sidecarPathForSource("/docs/rapport.docx")).toBe("/docs/rapport.ultidoc.json")
})
})