Discord: add presence cache tests (#2266) (thanks @kentaro)

This commit is contained in:
Shadow
2026-01-26 10:43:23 -06:00
parent 3e07bd8b48
commit 07e34e3423
2 changed files with 40 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
import { beforeEach, describe, expect, it } from "vitest";
import type { GatewayPresenceUpdate } from "discord-api-types/v10";
import {
clearPresences,
getPresence,
presenceCacheSize,
setPresence,
} from "./presence-cache.js";
describe("presence-cache", () => {
beforeEach(() => {
clearPresences();
});
it("scopes presence entries by account", () => {
const presenceA = { status: "online" } as GatewayPresenceUpdate;
const presenceB = { status: "idle" } as GatewayPresenceUpdate;
setPresence("account-a", "user-1", presenceA);
setPresence("account-b", "user-1", presenceB);
expect(getPresence("account-a", "user-1")).toBe(presenceA);
expect(getPresence("account-b", "user-1")).toBe(presenceB);
expect(getPresence("account-a", "user-2")).toBeUndefined();
});
it("clears presence per account", () => {
const presence = { status: "dnd" } as GatewayPresenceUpdate;
setPresence("account-a", "user-1", presence);
setPresence("account-b", "user-2", presence);
clearPresences("account-a");
expect(getPresence("account-a", "user-1")).toBeUndefined();
expect(getPresence("account-b", "user-2")).toBe(presence);
expect(presenceCacheSize()).toBe(1);
});
});