Files
ttstd-infinite-canvas/web/test/tapnow-import.test.ts
kinoko 0e272f3b83 feat(canvas): TapNow - 支持公开画布导入 (#255)
(cherry picked from commit 9b96135a5e409b4718e6204ab4212b7ef22635aa)
2026-08-19 11:58:06 +08:00

24 lines
1.1 KiB
TypeScript

import { describe, expect, test } from "bun:test";
import { formatTapNowBatchTime, parseTapNowShareID } from "../src/lib/canvas/tapnow-import";
describe("TapNow canvas import helpers", () => {
test("extracts share IDs from TapNow links", () => {
expect(parseTapNowShareID("https://app.tapnow.media/tapflow/view/8872a294")).toBe("8872a294");
expect(parseTapNowShareID("8872a294")).toBe("8872a294");
expect(parseTapNowShareID("https://app.tapnow.media/tapflow/view/abc_DEF-12?source=share")).toBe("abc_DEF-12");
});
test("rejects unrelated links and malformed IDs", () => {
expect(parseTapNowShareID("https://example.com/tapflow/view/8872a294")).toBe("");
expect(parseTapNowShareID("https://app.tapnow.ai/tapflow/view/8872a294")).toBe("");
expect(parseTapNowShareID("https://app.tapnow.media/canvas/8872a294")).toBe("");
expect(parseTapNowShareID("bad/id")).toBe("");
});
test("formats the readable batch label", () => {
const localTime = new Date(2026, 7, 19, 5, 2);
expect(formatTapNowBatchTime(localTime.toISOString())).toBe("202608190502");
});
});