From 65b5dbd6c1eee6fcbad4c676c5a2d81879f6431f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 16 Feb 2026 00:39:59 +0000 Subject: [PATCH] perf(test): fold telegram sent-message cache tests into send suite --- src/telegram/send.test.ts | 35 ++++++++++++++++++++++++- src/telegram/sent-message-cache.test.ts | 34 ------------------------ 2 files changed, 34 insertions(+), 35 deletions(-) delete mode 100644 src/telegram/sent-message-cache.test.ts diff --git a/src/telegram/send.test.ts b/src/telegram/send.test.ts index 23b87433aaf..690a4776db6 100644 --- a/src/telegram/send.test.ts +++ b/src/telegram/send.test.ts @@ -1,10 +1,11 @@ import type { Bot } from "grammy"; -import { beforeEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { getTelegramSendTestMocks, importTelegramSendModule, installTelegramSendTestHooks, } from "./send.test-harness.js"; +import { clearSentMessageCache, recordSentMessage, wasSentByBot } from "./sent-message-cache.js"; installTelegramSendTestHooks(); @@ -18,6 +19,38 @@ const { sendStickerTelegram, } = await importTelegramSendModule(); +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); + }); +}); + describe("buildInlineKeyboard", () => { it("returns undefined for empty input", () => { expect(buildInlineKeyboard()).toBeUndefined(); diff --git a/src/telegram/sent-message-cache.test.ts b/src/telegram/sent-message-cache.test.ts deleted file mode 100644 index 054d9b2fc8f..00000000000 --- a/src/telegram/sent-message-cache.test.ts +++ /dev/null @@ -1,34 +0,0 @@ -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); - }); -});