mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 11:10:45 +00:00
test: stabilize slack reaction assertions
This commit is contained in:
@@ -15,6 +15,8 @@ type SlackTestState = {
|
||||
replyMock: Mock<(...args: unknown[]) => unknown>;
|
||||
updateLastRouteMock: Mock<(...args: unknown[]) => unknown>;
|
||||
reactMock: Mock<(...args: unknown[]) => unknown>;
|
||||
reactionAddMock: Mock<(...args: unknown[]) => unknown>;
|
||||
reactionRemoveMock: Mock<(...args: unknown[]) => unknown>;
|
||||
readAllowFromStoreMock: Mock<(...args: unknown[]) => Promise<unknown>>;
|
||||
upsertPairingRequestMock: Mock<(...args: unknown[]) => Promise<unknown>>;
|
||||
};
|
||||
@@ -25,6 +27,8 @@ const slackTestState: SlackTestState = vi.hoisted(() => ({
|
||||
replyMock: vi.fn(),
|
||||
updateLastRouteMock: vi.fn(),
|
||||
reactMock: vi.fn(),
|
||||
reactionAddMock: vi.fn(),
|
||||
reactionRemoveMock: vi.fn(),
|
||||
readAllowFromStoreMock: vi.fn(),
|
||||
upsertPairingRequestMock: vi.fn(),
|
||||
}));
|
||||
@@ -88,8 +92,14 @@ function ensureSlackTestRuntime(): {
|
||||
},
|
||||
},
|
||||
reactions: {
|
||||
add: (...args: unknown[]) => slackTestState.reactMock(...args),
|
||||
remove: (...args: unknown[]) => slackTestState.reactMock(...args),
|
||||
add: (...args: unknown[]) => {
|
||||
slackTestState.reactionAddMock(...args);
|
||||
return slackTestState.reactMock(...args);
|
||||
},
|
||||
remove: (...args: unknown[]) => {
|
||||
slackTestState.reactionRemoveMock(...args);
|
||||
return slackTestState.reactMock(...args);
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
@@ -182,6 +192,8 @@ export function resetSlackTestState(config: Record<string, unknown> = defaultSla
|
||||
slackTestState.replyMock.mockReset();
|
||||
slackTestState.updateLastRouteMock.mockReset();
|
||||
slackTestState.reactMock.mockReset();
|
||||
slackTestState.reactionAddMock.mockReset();
|
||||
slackTestState.reactionRemoveMock.mockReset();
|
||||
slackTestState.readAllowFromStoreMock.mockReset().mockResolvedValue([]);
|
||||
slackTestState.upsertPairingRequestMock.mockReset().mockResolvedValue({
|
||||
code: "PAIRCODE",
|
||||
|
||||
@@ -19,7 +19,8 @@ import {
|
||||
const { monitorSlackProvider } = await import("./monitor/provider.js");
|
||||
|
||||
const slackTestState = getSlackTestState();
|
||||
const { sendMock, replyMock, reactMock, upsertPairingRequestMock } = slackTestState;
|
||||
const { sendMock, replyMock, reactMock, reactionAddMock, upsertPairingRequestMock } =
|
||||
slackTestState;
|
||||
|
||||
beforeEach(() => {
|
||||
resetInboundDedupe();
|
||||
@@ -275,7 +276,7 @@ describe("monitorSlackProvider tool results", () => {
|
||||
endsWith: string;
|
||||
includes: string;
|
||||
}) {
|
||||
const names = reactMock.mock.calls.map(([args]) => (args as { name: string }).name);
|
||||
const names = reactionAddMock.mock.calls.map(([args]) => (args as { name: string }).name);
|
||||
expect(names.slice(0, expected.startsWith.length)).toEqual(expected.startsWith);
|
||||
expect(names).toContain(expected.includes);
|
||||
expect(names.at(-1)).toBe(expected.endsWith);
|
||||
|
||||
Reference in New Issue
Block a user