import { afterEach, describe, expect, it } from "vitest"; import { clearSentMessageCache, recordSentMessage, wasSentByBot } from "./sent-message-cache.js"; describe("sent-message-cache", () => { afterEach(() => { clearSentMessageCache(); }); it("records and retrieves sent messages", () => { recordSentMessage(123, 1); recordSentMessage(123, 2); recordSentMessage(456, 10); expect(wasSentByBot(123, 1)).toBe(true); expect(wasSentByBot(123, 2)).toBe(true); expect(wasSentByBot(456, 10)).toBe(true); expect(wasSentByBot(123, 3)).toBe(false); expect(wasSentByBot(789, 1)).toBe(false); }); it("handles string chat IDs", () => { recordSentMessage("123", 1); expect(wasSentByBot("123", 1)).toBe(true); expect(wasSentByBot(123, 1)).toBe(true); }); it("clears cache", () => { recordSentMessage(123, 1); expect(wasSentByBot(123, 1)).toBe(true); clearSentMessageCache(); expect(wasSentByBot(123, 1)).toBe(false); }); });