From 37c8b3dc08a234e51c06f9737c8823d75db4a624 Mon Sep 17 00:00:00 2001 From: Jerry-Xin Date: Wed, 18 Mar 2026 03:10:44 +0800 Subject: [PATCH] fix(telegram): define MockMediaFetchError in retry test file Import the real MediaFetchError via vi.importActual and alias it as MockMediaFetchError so the retry test cases can instantiate typed errors that pass the instanceof check inside isRetryableDownloadError. --- .../src/bot/delivery.resolve-media-retry.test.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/extensions/telegram/src/bot/delivery.resolve-media-retry.test.ts b/extensions/telegram/src/bot/delivery.resolve-media-retry.test.ts index e306ef2a605..a1233fe4bf3 100644 --- a/extensions/telegram/src/bot/delivery.resolve-media-retry.test.ts +++ b/extensions/telegram/src/bot/delivery.resolve-media-retry.test.ts @@ -111,6 +111,16 @@ function makeCtx( }; } +/** + * Re-export the real MediaFetchError so tests throw instances that pass the + * `instanceof` check inside `isRetryableDownloadError`. The vi.mock above + * preserves the original class via `...actual`, so both sides reference the + * same constructor. + */ +// eslint-disable-next-line @typescript-eslint/no-require-imports -- dynamic import after mock registration +const { MediaFetchError: MockMediaFetchError } = + await vi.importActual("openclaw/plugin-sdk/media-runtime"); + function setupTransientGetFileRetry() { const getFile = vi .fn()