test: cover replyToMode behavior

This commit is contained in:
Peter Steinberger
2026-01-02 23:20:52 +01:00
parent 2c92ccd66e
commit d1b76cb1b2
3 changed files with 142 additions and 12 deletions

View File

@@ -7,6 +7,7 @@ import {
resolveDiscordChannelConfig,
resolveDiscordGuildEntry,
resolveGroupDmAllow,
resolveDiscordReplyTarget,
} from "./monitor.js";
const fakeGuild = (id: string, name: string) =>
@@ -160,3 +161,49 @@ describe("discord group DM gating", () => {
).toBe(false);
});
});
describe("discord reply target selection", () => {
it("skips replies when mode is off", () => {
expect(
resolveDiscordReplyTarget({
replyToMode: "off",
replyToId: "123",
hasReplied: false,
}),
).toBeUndefined();
});
it("replies only once when mode is first", () => {
expect(
resolveDiscordReplyTarget({
replyToMode: "first",
replyToId: "123",
hasReplied: false,
}),
).toBe("123");
expect(
resolveDiscordReplyTarget({
replyToMode: "first",
replyToId: "123",
hasReplied: true,
}),
).toBeUndefined();
});
it("replies on every message when mode is all", () => {
expect(
resolveDiscordReplyTarget({
replyToMode: "all",
replyToId: "123",
hasReplied: false,
}),
).toBe("123");
expect(
resolveDiscordReplyTarget({
replyToMode: "all",
replyToId: "123",
hasReplied: true,
}),
).toBe("123");
});
});