fix: polish Google Chat plugin (#1635) (thanks @iHildy)
Co-authored-by: Ian Hildebrand <ian@jedi.net>
This commit is contained in:
35
extensions/googlechat/src/targets.test.ts
Normal file
35
extensions/googlechat/src/targets.test.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
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/<email>", () => {
|
||||
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);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user