





















@@ -322,6 +322,17 @@ describe("dispatchTelegramMessage draft streaming", () => {
322322};
323323}
324324325+function observeDeliveredReply(text: string): Promise<void> {
326+return new Promise((resolve) => {
327+deliverReplies.mockImplementation(async (params: { replies?: Array<{ text?: string }> }) => {
328+if (params.replies?.some((reply) => reply.text === text)) {
329+resolve();
330+}
331+return { delivered: true };
332+});
333+});
334+}
335+325336function createBot(): Bot {
326337return {
327338api: {
@@ -2900,7 +2911,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
29002911await dispatcherOptions.deliver({ text: "⚙️ Agent was aborted." }, { kind: "final" });
29012912return { queuedFinal: true };
29022913});
2903-deliverReplies.mockResolvedValue({ delivered: true });
2914+const abortReplyDelivered = observeDeliveredReply("⚙️ Agent was aborted.");
29042915editMessageTelegram.mockResolvedValue({ ok: true, chatId: "123", messageId: "1001" });
2905291629062917const firstPromise = dispatchWithContext({
@@ -2927,13 +2938,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
29272938}),
29282939});
292929402930-await vi.waitFor(() => {
2931-expect(deliverReplies).toHaveBeenCalledWith(
2932-expect.objectContaining({
2933-replies: [{ text: "⚙️ Agent was aborted." }],
2934-}),
2935-);
2936-});
2941+await abortReplyDelivered;
2937294229382943releaseFirstFinal();
29392944await Promise.all([firstPromise, abortPromise]);
@@ -2985,7 +2990,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
29852990await dispatcherOptions.deliver({ text: "⚙️ Agent was aborted." }, { kind: "final" });
29862991return { queuedFinal: true };
29872992});
2988-deliverReplies.mockResolvedValue({ delivered: true });
2993+const abortReplyDelivered = observeDeliveredReply("⚙️ Agent was aborted.");
2989299429902995const firstPromise = dispatchWithContext({
29912996context: createContext({
@@ -3011,13 +3016,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
30113016}),
30123017});
301330183014-await vi.waitFor(() => {
3015-expect(deliverReplies).toHaveBeenCalledWith(
3016-expect.objectContaining({
3017-replies: [{ text: "⚙️ Agent was aborted." }],
3018-}),
3019-);
3020-});
3019+await abortReplyDelivered;
3021302030223021releaseFirstCleanup();
30233022await Promise.all([firstPromise, abortPromise]);
@@ -3051,7 +3050,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
30513050return { queuedFinal: true };
30523051},
30533052);
3054-deliverReplies.mockResolvedValue({ delivered: true });
3053+const abortReplyDelivered = observeDeliveredReply("⚙️ Agent was aborted.");
3055305430563055const firstPromise = dispatchWithContext({
30573056context: createContext({
@@ -3082,13 +3081,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
30823081}),
30833082});
308430833085-await vi.waitFor(() => {
3086-expect(deliverReplies).toHaveBeenCalledWith(
3087-expect.objectContaining({
3088-replies: [{ text: "⚙️ Agent was aborted." }],
3089-}),
3090-);
3091-});
3084+await abortReplyDelivered;
3092308530933086releaseCatalogLoad();
30943087await Promise.all([firstPromise, abortPromise]);
@@ -3160,7 +3153,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
31603153await dispatcherOptions.deliver({ text: "⚙️ Agent was aborted." }, { kind: "final" });
31613154return { queuedFinal: true };
31623155});
3163-deliverReplies.mockResolvedValue({ delivered: true });
3156+const abortReplyDelivered = observeDeliveredReply("⚙️ Agent was aborted.");
31643157editMessageTelegram.mockResolvedValue({ ok: true, chatId: "123", messageId: "1001" });
3165315831663159const firstPromise = dispatchWithContext({
@@ -3188,13 +3181,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
31883181}),
31893182});
319031833191-await vi.waitFor(() => {
3192-expect(deliverReplies).toHaveBeenCalledWith(
3193-expect.objectContaining({
3194-replies: [{ text: "⚙️ Agent was aborted." }],
3195-}),
3196-);
3197-});
3184+await abortReplyDelivered;
3198318531993186releaseFirstFinal();
32003187await Promise.all([firstPromise, abortPromise]);
@@ -3246,7 +3233,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
32463233await dispatcherOptions.deliver({ text: "⚙️ Agent was aborted." }, { kind: "final" });
32473234return { queuedFinal: true };
32483235});
3249-deliverReplies.mockResolvedValue({ delivered: true });
3236+const abortReplyDelivered = observeDeliveredReply("⚙️ Agent was aborted.");
32503237editMessageTelegram.mockResolvedValue({ ok: true, chatId: "123", messageId: "1001" });
3251323832523239const firstPromise = dispatchWithContext({
@@ -3285,13 +3272,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
32853272}),
32863273});
328732743288-await vi.waitFor(() => {
3289-expect(deliverReplies).toHaveBeenCalledWith(
3290-expect.objectContaining({
3291-replies: [{ text: "⚙️ Agent was aborted." }],
3292-}),
3293-);
3294-});
3275+await abortReplyDelivered;
3295327632963277vi.useFakeTimers();
32973278try {
@@ -3359,7 +3340,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
33593340await dispatcherOptions.deliver({ text: "⚙️ Agent was aborted." }, { kind: "final" });
33603341return { queuedFinal: true };
33613342});
3362-deliverReplies.mockResolvedValue({ delivered: true });
3343+const abortReplyDelivered = observeDeliveredReply("⚙️ Agent was aborted.");
3363334433643345const firstPromise = dispatchWithContext({
33653346context: createContext({
@@ -3388,13 +3369,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
33883369 bot,
33893370});
339033713391-await vi.waitFor(() => {
3392-expect(deliverReplies).toHaveBeenCalledWith(
3393-expect.objectContaining({
3394-replies: [{ text: "⚙️ Agent was aborted." }],
3395-}),
3396-);
3397-});
3372+await abortReplyDelivered;
3398337333993374releaseMaterialize();
34003375await Promise.all([firstPromise, abortPromise]);
@@ -3440,7 +3415,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
34403415await dispatcherOptions.deliver({ text: "⚙️ Agent was aborted." }, { kind: "final" });
34413416return { queuedFinal: true };
34423417});
3443-deliverReplies.mockResolvedValue({ delivered: true });
3418+const abortReplyDelivered = observeDeliveredReply("⚙️ Agent was aborted.");
34443419editMessageTelegram.mockResolvedValue({ ok: true, chatId: "123", messageId: "1001" });
3445342034463421const firstPromise = dispatchWithContext({
@@ -3468,13 +3443,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
34683443}),
34693444});
347034453471-await vi.waitFor(() => {
3472-expect(deliverReplies).toHaveBeenCalledWith(
3473-expect.objectContaining({
3474-replies: [{ text: "⚙️ Agent was aborted." }],
3475-}),
3476-);
3477-});
3446+await abortReplyDelivered;
3478344734793448releaseFirstFinal();
34803449await Promise.all([firstPromise, abortPromise]);
@@ -3641,7 +3610,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
36413610await dispatcherOptions.deliver({ text: "Unauthorized stop" }, { kind: "final" });
36423611return { queuedFinal: true };
36433612});
3644-deliverReplies.mockResolvedValue({ delivered: true });
3613+const unauthorizedReplyDelivered = observeDeliveredReply("Unauthorized stop");
36453614editMessageTelegram.mockResolvedValue({ ok: true, chatId: "123", messageId: "1001" });
3646361536473616const firstPromise = dispatchWithContext({
@@ -3668,13 +3637,7 @@ describe("dispatchTelegramMessage draft streaming", () => {
36683637}),
36693638});
367036393671-await vi.waitFor(() => {
3672-expect(deliverReplies).toHaveBeenCalledWith(
3673-expect.objectContaining({
3674-replies: [{ text: "Unauthorized stop" }],
3675-}),
3676-);
3677-});
3640+await unauthorizedReplyDelivered;
3678364136793642releaseFirstFinal();
36803643await Promise.all([firstPromise, unauthorizedPromise]);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。