From 0e4eada580fa15142db880174ed7b45198adad0b Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 16 Feb 2026 00:40:54 +0000 Subject: [PATCH] perf(test): fold telegram update offset store into token suite --- src/telegram/token.test.ts | 33 ++++++++++++++++++++++ src/telegram/update-offset-store.test.ts | 36 ------------------------ 2 files changed, 33 insertions(+), 36 deletions(-) delete mode 100644 src/telegram/update-offset-store.test.ts diff --git a/src/telegram/token.test.ts b/src/telegram/token.test.ts index ad5a389dd..34b06ca1d 100644 --- a/src/telegram/token.test.ts +++ b/src/telegram/token.test.ts @@ -1,14 +1,32 @@ import fs from "node:fs"; +import fsPromises from "node:fs/promises"; import os from "node:os"; import path from "node:path"; import { afterEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../config/config.js"; import { resolveTelegramToken } from "./token.js"; +import { readTelegramUpdateOffset, writeTelegramUpdateOffset } from "./update-offset-store.js"; function withTempDir(): string { return fs.mkdtempSync(path.join(os.tmpdir(), "openclaw-telegram-token-")); } +async function withTempStateDir(fn: (dir: string) => Promise) { + const previous = process.env.OPENCLAW_STATE_DIR; + const dir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-telegram-")); + process.env.OPENCLAW_STATE_DIR = dir; + try { + return await fn(dir); + } finally { + if (previous === undefined) { + delete process.env.OPENCLAW_STATE_DIR; + } else { + process.env.OPENCLAW_STATE_DIR = previous; + } + await fsPromises.rm(dir, { recursive: true, force: true }); + } +} + describe("resolveTelegramToken", () => { afterEach(() => { vi.unstubAllEnvs(); @@ -87,3 +105,18 @@ describe("resolveTelegramToken", () => { expect(res.source).toBe("config"); }); }); + +describe("telegram update offset store", () => { + it("persists and reloads the last update id", async () => { + await withTempStateDir(async () => { + expect(await readTelegramUpdateOffset({ accountId: "primary" })).toBeNull(); + + await writeTelegramUpdateOffset({ + accountId: "primary", + updateId: 421, + }); + + expect(await readTelegramUpdateOffset({ accountId: "primary" })).toBe(421); + }); + }); +}); diff --git a/src/telegram/update-offset-store.test.ts b/src/telegram/update-offset-store.test.ts deleted file mode 100644 index 4e3f5d9a3..000000000 --- a/src/telegram/update-offset-store.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -import fs from "node:fs/promises"; -import os from "node:os"; -import path from "node:path"; -import { describe, expect, it } from "vitest"; -import { readTelegramUpdateOffset, writeTelegramUpdateOffset } from "./update-offset-store.js"; - -async function withTempStateDir(fn: (dir: string) => Promise) { - const previous = process.env.OPENCLAW_STATE_DIR; - const dir = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-telegram-")); - process.env.OPENCLAW_STATE_DIR = dir; - try { - return await fn(dir); - } finally { - if (previous === undefined) { - delete process.env.OPENCLAW_STATE_DIR; - } else { - process.env.OPENCLAW_STATE_DIR = previous; - } - await fs.rm(dir, { recursive: true, force: true }); - } -} - -describe("telegram update offset store", () => { - it("persists and reloads the last update id", async () => { - await withTempStateDir(async () => { - expect(await readTelegramUpdateOffset({ accountId: "primary" })).toBeNull(); - - await writeTelegramUpdateOffset({ - accountId: "primary", - updateId: 421, - }); - - expect(await readTelegramUpdateOffset({ accountId: "primary" })).toBe(421); - }); - }); -});