mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 10:32:43 +00:00
refactor(test): dedupe slack monitor event fixtures
This commit is contained in:
@@ -24,6 +24,29 @@ beforeEach(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe("monitorSlackProvider tool results", () => {
|
describe("monitorSlackProvider tool results", () => {
|
||||||
|
type SlackMessageEvent = {
|
||||||
|
type: "message";
|
||||||
|
user: string;
|
||||||
|
text: string;
|
||||||
|
ts: string;
|
||||||
|
channel: string;
|
||||||
|
channel_type: "im" | "channel";
|
||||||
|
thread_ts?: string;
|
||||||
|
parent_user_id?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
function makeSlackMessageEvent(overrides: Partial<SlackMessageEvent> = {}): SlackMessageEvent {
|
||||||
|
return {
|
||||||
|
type: "message",
|
||||||
|
user: "U1",
|
||||||
|
text: "hello",
|
||||||
|
ts: "123",
|
||||||
|
channel: "C1",
|
||||||
|
channel_type: "im",
|
||||||
|
...overrides,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
function setDirectMessageReplyMode(replyToMode: "off" | "all" | "first") {
|
function setDirectMessageReplyMode(replyToMode: "off" | "all" | "first") {
|
||||||
slackTestState.config = {
|
slackTestState.config = {
|
||||||
messages: {
|
messages: {
|
||||||
@@ -42,29 +65,18 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
|
|
||||||
async function runDirectMessageEvent(ts: string, extraEvent: Record<string, unknown> = {}) {
|
async function runDirectMessageEvent(ts: string, extraEvent: Record<string, unknown> = {}) {
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({ ts, ...extraEvent }),
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts,
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "im",
|
|
||||||
...extraEvent,
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function runChannelThreadReplyEvent() {
|
async function runChannelThreadReplyEvent() {
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "thread reply",
|
text: "thread reply",
|
||||||
ts: "123.456",
|
ts: "123.456",
|
||||||
thread_ts: "111.222",
|
thread_ts: "111.222",
|
||||||
channel: "C1",
|
|
||||||
channel_type: "channel",
|
channel_type: "channel",
|
||||||
},
|
}),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,14 +84,7 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
replyMock.mockResolvedValue({ text: "final reply" });
|
replyMock.mockResolvedValue({ text: "final reply" });
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent(),
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "123",
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "im",
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(sendMock).toHaveBeenCalledTimes(1);
|
expect(sendMock).toHaveBeenCalledTimes(1);
|
||||||
@@ -101,14 +106,7 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
monitorSlackProvider,
|
monitorSlackProvider,
|
||||||
{
|
{
|
||||||
body: { api_app_id: "A2", team_id: "T1" },
|
body: { api_app_id: "A2", team_id: "T1" },
|
||||||
event: {
|
event: makeSlackMessageEvent(),
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "123",
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "im",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{ appToken: "xapp-1-A1-abc" },
|
{ appToken: "xapp-1-A1-abc" },
|
||||||
);
|
);
|
||||||
@@ -150,14 +148,7 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
replyMock.mockResolvedValue({ text: "final reply" });
|
replyMock.mockResolvedValue({ text: "final reply" });
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent(),
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "123",
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "im",
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(sendMock).toHaveBeenCalledTimes(1);
|
expect(sendMock).toHaveBeenCalledTimes(1);
|
||||||
@@ -289,14 +280,7 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent(),
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "123",
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "im",
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const client = getSlackClient() as {
|
const client = getSlackClient() as {
|
||||||
@@ -334,14 +318,10 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
replyMock.mockResolvedValue({ text: "hi" });
|
replyMock.mockResolvedValue({ text: "hi" });
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text,
|
text,
|
||||||
ts: "123",
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "channel",
|
channel_type: "channel",
|
||||||
},
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(replyMock).toHaveBeenCalledTimes(1);
|
expect(replyMock).toHaveBeenCalledTimes(1);
|
||||||
@@ -368,16 +348,13 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
replyMock.mockResolvedValue({ text: "hi" });
|
replyMock.mockResolvedValue({ text: "hi" });
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "following up",
|
text: "following up",
|
||||||
ts: "124",
|
ts: "124",
|
||||||
thread_ts: "123",
|
thread_ts: "123",
|
||||||
parent_user_id: "bot-user",
|
parent_user_id: "bot-user",
|
||||||
channel: "C1",
|
|
||||||
channel_type: "channel",
|
channel_type: "channel",
|
||||||
},
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(replyMock).toHaveBeenCalledTimes(1);
|
expect(replyMock).toHaveBeenCalledTimes(1);
|
||||||
@@ -397,14 +374,9 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
replyMock.mockResolvedValue({ text: "hi" });
|
replyMock.mockResolvedValue({ text: "hi" });
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "123",
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "channel",
|
channel_type: "channel",
|
||||||
},
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(replyMock).toHaveBeenCalledTimes(1);
|
expect(replyMock).toHaveBeenCalledTimes(1);
|
||||||
@@ -416,14 +388,10 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
replyMock.mockResolvedValue({ text: "ok" });
|
replyMock.mockResolvedValue({ text: "ok" });
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "/elevated off",
|
text: "/elevated off",
|
||||||
ts: "123",
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "channel",
|
channel_type: "channel",
|
||||||
},
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(replyMock).toHaveBeenCalledTimes(1);
|
expect(replyMock).toHaveBeenCalledTimes(1);
|
||||||
@@ -472,14 +440,9 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "789",
|
ts: "789",
|
||||||
channel: "C1",
|
}),
|
||||||
channel_type: "im",
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(sendMock).toHaveBeenCalledTimes(1);
|
expect(sendMock).toHaveBeenCalledTimes(1);
|
||||||
@@ -500,14 +463,11 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "<@bot-user> hello",
|
text: "<@bot-user> hello",
|
||||||
ts: "456",
|
ts: "456",
|
||||||
channel: "C1",
|
|
||||||
channel_type: "channel",
|
channel_type: "channel",
|
||||||
},
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(reactMock).toHaveBeenCalledWith({
|
expect(reactMock).toHaveBeenCalledWith({
|
||||||
@@ -530,14 +490,7 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent(),
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "123",
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "im",
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(replyMock).not.toHaveBeenCalled();
|
expect(replyMock).not.toHaveBeenCalled();
|
||||||
@@ -565,14 +518,7 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
const { controller, run } = startSlackMonitor(monitorSlackProvider);
|
const { controller, run } = startSlackMonitor(monitorSlackProvider);
|
||||||
const handler = await getSlackHandlerOrThrow("message");
|
const handler = await getSlackHandlerOrThrow("message");
|
||||||
|
|
||||||
const baseEvent = {
|
const baseEvent = makeSlackMessageEvent();
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "123",
|
|
||||||
channel: "C1",
|
|
||||||
channel_type: "im",
|
|
||||||
};
|
|
||||||
|
|
||||||
await handler({ event: baseEvent });
|
await handler({ event: baseEvent });
|
||||||
await handler({ event: { ...baseEvent, ts: "124", text: "hello again" } });
|
await handler({ event: { ...baseEvent, ts: "124", text: "hello again" } });
|
||||||
@@ -595,16 +541,10 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
replyMock.mockResolvedValue({ text: "thread reply" });
|
replyMock.mockResolvedValue({ text: "thread reply" });
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "123",
|
|
||||||
thread_ts: "123",
|
thread_ts: "123",
|
||||||
parent_user_id: "U2",
|
parent_user_id: "U2",
|
||||||
channel: "C1",
|
}),
|
||||||
channel_type: "im",
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(replyMock).toHaveBeenCalledTimes(1);
|
expect(replyMock).toHaveBeenCalledTimes(1);
|
||||||
@@ -631,15 +571,10 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
await runSlackMessageOnce(monitorSlackProvider, {
|
await runSlackMessageOnce(monitorSlackProvider, {
|
||||||
event: {
|
event: makeSlackMessageEvent({
|
||||||
type: "message",
|
|
||||||
user: "U1",
|
|
||||||
text: "hello",
|
|
||||||
ts: "123",
|
|
||||||
thread_ts: "111.222",
|
thread_ts: "111.222",
|
||||||
channel: "C1",
|
|
||||||
channel_type: "channel",
|
channel_type: "channel",
|
||||||
},
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(replyMock).toHaveBeenCalledTimes(1);
|
expect(replyMock).toHaveBeenCalledTimes(1);
|
||||||
|
|||||||
Reference in New Issue
Block a user