import { describe, expect, it } from "vitest"; import { isGoogleChatSpaceTarget, isGoogleChatUserTarget, normalizeGoogleChatTarget, } from "./targets.js"; describe("normalizeGoogleChatTarget", () => { it("normalizes provider prefixes", () => { expect(normalizeGoogleChatTarget("googlechat:users/123")).toBe("users/123"); expect(normalizeGoogleChatTarget("google-chat:spaces/AAA")).toBe("spaces/AAA"); expect(normalizeGoogleChatTarget("gchat:user:User@Example.com")).toBe( "users/user@example.com", ); }); it("normalizes email targets to users/", () => { expect(normalizeGoogleChatTarget("User@Example.com")).toBe("users/user@example.com"); expect(normalizeGoogleChatTarget("users/User@Example.com")).toBe("users/user@example.com"); }); it("preserves space targets", () => { expect(normalizeGoogleChatTarget("space:spaces/BBB")).toBe("spaces/BBB"); expect(normalizeGoogleChatTarget("spaces/CCC")).toBe("spaces/CCC"); }); }); describe("target helpers", () => { it("detects user and space targets", () => { expect(isGoogleChatUserTarget("users/abc")).toBe(true); expect(isGoogleChatSpaceTarget("spaces/abc")).toBe(true); expect(isGoogleChatUserTarget("spaces/abc")).toBe(false); }); });