mirror of https://github.com/openclaw/openclaw.git
test: dedupe discord queue preflight setup
This commit is contained in:
parent
a7c293b8ef
commit
6a44ca9f76
|
|
@ -45,20 +45,30 @@ function createPreflightContext(channelId = "ch-1") {
|
|||
return createDiscordPreflightContext(channelId);
|
||||
}
|
||||
|
||||
function createHandlerWithDefaultPreflight(overrides?: {
|
||||
setStatus?: SetStatusFn;
|
||||
workerRunTimeoutMs?: number;
|
||||
}) {
|
||||
preflightDiscordMessageMock.mockImplementation(async (params: { data: { channel_id: string } }) =>
|
||||
createPreflightContext(params.data.channel_id),
|
||||
);
|
||||
return createDiscordMessageHandler(createDiscordHandlerParams(overrides));
|
||||
}
|
||||
|
||||
async function createLifecycleStopScenario(params: {
|
||||
createHandler: (status: SetStatusFn) => {
|
||||
handler: (data: never, opts: never) => Promise<void>;
|
||||
stop: () => void;
|
||||
};
|
||||
}) {
|
||||
preflightDiscordMessageMock.mockImplementation(
|
||||
async (preflightParams: { data: { channel_id: string } }) =>
|
||||
createPreflightContext(preflightParams.data.channel_id),
|
||||
);
|
||||
const runInFlight = createDeferred();
|
||||
processDiscordMessageMock.mockImplementation(async () => {
|
||||
await runInFlight.promise;
|
||||
});
|
||||
preflightDiscordMessageMock.mockImplementation(
|
||||
async (contextParams: { data: { channel_id: string } }) =>
|
||||
createPreflightContext(contextParams.data.channel_id),
|
||||
);
|
||||
|
||||
const setStatus = vi.fn<SetStatusFn>();
|
||||
const { handler, stop } = params.createHandler(setStatus);
|
||||
|
|
@ -111,13 +121,8 @@ describe("createDiscordMessageHandler queue behavior", () => {
|
|||
.mockImplementationOnce(async () => {
|
||||
await secondRun.promise;
|
||||
});
|
||||
preflightDiscordMessageMock.mockImplementation(
|
||||
async (params: { data: { channel_id: string } }) =>
|
||||
createPreflightContext(params.data.channel_id),
|
||||
);
|
||||
|
||||
const setStatus = vi.fn();
|
||||
const handler = createDiscordMessageHandler(createDiscordHandlerParams({ setStatus }));
|
||||
const handler = createHandlerWithDefaultPreflight({ setStatus });
|
||||
|
||||
await expect(handler(createMessageData("m-1") as never, {} as never)).resolves.toBeUndefined();
|
||||
|
||||
|
|
@ -175,12 +180,11 @@ describe("createDiscordMessageHandler queue behavior", () => {
|
|||
});
|
||||
})
|
||||
.mockImplementationOnce(async () => undefined);
|
||||
preflightDiscordMessageMock.mockImplementation(
|
||||
async (params: { data: { channel_id: string } }) =>
|
||||
createPreflightContext(params.data.channel_id),
|
||||
);
|
||||
|
||||
const params = createDiscordHandlerParams({ workerRunTimeoutMs: 50 });
|
||||
preflightDiscordMessageMock.mockImplementation(
|
||||
async (preflightParams: { data: { channel_id: string } }) =>
|
||||
createPreflightContext(preflightParams.data.channel_id),
|
||||
);
|
||||
const handler = createDiscordMessageHandler(params);
|
||||
|
||||
await expect(
|
||||
|
|
@ -226,13 +230,8 @@ describe("createDiscordMessageHandler queue behavior", () => {
|
|||
});
|
||||
},
|
||||
);
|
||||
preflightDiscordMessageMock.mockImplementation(
|
||||
async (params: { data: { channel_id: string } }) =>
|
||||
createPreflightContext(params.data.channel_id),
|
||||
);
|
||||
|
||||
const params = createDiscordHandlerParams({ workerRunTimeoutMs: 0 });
|
||||
const handler = createDiscordMessageHandler(params);
|
||||
const handler = createHandlerWithDefaultPreflight({ workerRunTimeoutMs: 0 });
|
||||
|
||||
await expect(
|
||||
handler(createMessageData("m-1") as never, {} as never),
|
||||
|
|
@ -442,7 +441,7 @@ describe("createDiscordMessageHandler queue behavior", () => {
|
|||
);
|
||||
|
||||
const setStatus = vi.fn();
|
||||
const handler = createDiscordMessageHandler(createDiscordHandlerParams({ setStatus }));
|
||||
const handler = createHandlerWithDefaultPreflight({ setStatus });
|
||||
|
||||
await expect(handler(createMessageData("m-1") as never, {} as never)).resolves.toBeUndefined();
|
||||
await expect(handler(createMessageData("m-2") as never, {} as never)).resolves.toBeUndefined();
|
||||
|
|
|
|||
Loading…
Reference in New Issue